Re: [dpdk-dev] [PATCH v4 2/2] vhost: enhance async enqueue for small packets
From: Maxime Coquelin <hidden>
Date: 2021-01-11 12:45:03
On 1/11/21 1:16 PM, Jiayu Hu wrote:
Async enqueue offloads large copies to DMA devices, and small copies are still performed by the CPU. However, it requires users to get enqueue completed packets by rte_vhost_poll_enqueue_completed(), even if they are completed by the CPU when rte_vhost_submit_enqueue_burst() returns. This design incurs extra overheads of tracking completed pktmbufs and function calls, thus degrading performance on small packets. This patch enhances async enqueue for small packets by enabling rte_vhost_submit_enqueue_burst() to return completed packets. Signed-off-by: Jiayu Hu <redacted> Tested-by: Yinan Wang <redacted> --- doc/guides/prog_guide/vhost_lib.rst | 8 +- examples/vhost/main.c | 18 ++- lib/librte_vhost/rte_vhost_async.h | 30 +++-- lib/librte_vhost/vhost.c | 14 +-- lib/librte_vhost/vhost.h | 7 +- lib/librte_vhost/vhost_user.c | 7 +- lib/librte_vhost/virtio_net.c | 242 ++++++++++++++++++++---------------- 7 files changed, 190 insertions(+), 136 deletions(-)
Reviewed-by: Maxime Coquelin <redacted> Thanks, Maxime