[dpdk-dev] [PATCH v2 3/3] net/vhost: vHost support to free consumed buffers
Stephen Hemminger
stephen at networkplumber.org
Thu Jan 12 02:39:50 CET 2017
On Wed, 11 Jan 2017 15:03:23 -0500
Billy McFall <bmcfall at redhat.com> wrote:
> Add support to the vHostdriver for the new API to force free consumed
> buffers on Tx ring. vHost does not cache the mbufs so there is no work
> to do.
>
> Signed-off-by: Billy McFall <bmcfall at redhat.com>
> ---
> drivers/net/vhost/rte_eth_vhost.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
> index 766d4ef..6493d56 100644
> --- a/drivers/net/vhost/rte_eth_vhost.c
> +++ b/drivers/net/vhost/rte_eth_vhost.c
> @@ -939,6 +939,16 @@ eth_queue_release(void *q)
> }
>
> static int
> +eth_tx_done_cleanup(void *txq __rte_unused, uint32_t free_cnt __rte_unused)
> +{
> + /*
> + * vHost does not hang onto mbuf. eth_vhost_tx() copies packet data
> + * and releases mbuf, so nothing to cleanup.
> + */
> + return 0;
> +}
> +
> +static int
> eth_link_update(struct rte_eth_dev *dev __rte_unused,
> int wait_to_complete __rte_unused)
> {
> @@ -979,6 +989,7 @@ static const struct eth_dev_ops ops = {
> .tx_queue_setup = eth_tx_queue_setup,
> .rx_queue_release = eth_queue_release,
> .tx_queue_release = eth_queue_release,
> + .tx_done_cleanup = eth_tx_done_cleanup,
> .link_update = eth_link_update,
> .stats_get = eth_stats_get,
> .stats_reset = eth_stats_reset,
Rather than change drivers, since this is not critical path, make
it optional to have tx_done_cleanup.
More information about the dev
mailing list