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 <jiayu...@intel.com>
> Tested-by: Yinan Wang <yinan.w...@intel.com>
> ---
>  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 <maxime.coque...@redhat.com>

Thanks,
Maxime

Reply via email to