numam-dpdk/examples/vhost
Jiayu Hu 1b7b24389c vhost: enhance async enqueue for small packets
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.hu@intel.com>
Tested-by: Yinan Wang <yinan.wang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2021-01-13 18:51:58 +01:00
..
ioat.c examples/vhost: fix ioat dependency 2020-11-13 19:43:26 +01:00
ioat.h examples/vhost: fix ioat dependency 2020-11-13 19:43:26 +01:00
main.c vhost: enhance async enqueue for small packets 2021-01-13 18:51:58 +01:00
main.h examples/vhost: support vhost async data path 2020-11-03 23:24:26 +01:00
Makefile examples/vhost: fix ioat dependency 2020-11-13 19:43:26 +01:00
meson.build examples/vhost: fix ioat dependency 2020-11-13 19:43:26 +01:00
virtio_net.c examples/vhost: relax memory ordering when enqueue/dequeue 2021-01-08 18:07:55 +01:00