Tested-by: Yinan Wang <yinan.w...@intel.com>
> -----Original Message-----
> From: dev <dev-boun...@dpdk.org> On Behalf Of Wenwu Ma
> Sent: 2021?7?21? 22:21
> To: dev@dpdk.org
> Cc: maxime.coque...@redhat.com; Xia, Chenbo <chenbo....@intel.com>;
> Jiang, Cheng1 <cheng1.ji...@intel.com>; Hu, Jiayu <jiayu...@intel.com>;
> Ma, WenwuX <wenwux...@intel.com>
> Subject: [dpdk-dev] [PATCH v7 0/4] support async dequeue for split ring
>
> This patch implements asynchronous dequeue data path for split ring.
> A new asynchronous dequeue function is introduced. With this function,
> the application can try to receive packets from the guest with offloading
> large copies to the DMA engine, thus saving precious CPU cycles.
>
> v7:
> - Add Reviewed-by to comments in examples/vhost.
>
> v6:
> - Allocate and free packets in bulk.
> - struct async_inflight_info aligned to 32 bits.
> - Change ASYNC_RX_VHOST to ASYNV_ENQUEUE_VHOST and
> ASYNC_TX_VHOST to ASYNV_DEQUEUE_VHOST.
>
> v5:
> - DMA address use IOVA instead of VA.
>
> v4:
> - Fix wrong packet index issue in async dequeue improve
> the performance of small packet copies.
>
> v3:
> - Fix compilation warning and error in arm platform.
> - Restore the removed function virtio_dev_pktmbuf_alloc,
> async dequeue allocate packets in separate.
>
> v2:
> - Refactor vhost datapath as preliminary patch for this series.
> - The change of using new API in examples/vhost is put into a
> dedicated patch.
> - Check queue_id value before using it.
> - Async dequeue performance enhancement. 160% performance
> improvement
> for v2 vs. v1.
> - Async dequeue API name change from rte_vhost_try_dequeue_burst to
> rte_vhost_async_try_dequeue_burst.
> - The completed package updates the used ring directly.
>
> Wenwu Ma (3):
> examples/vhost: refactor vhost enqueue and dequeue datapaths
> examples/vhost: use a new API to query remaining ring space
> examples/vhost: support vhost async dequeue data path
>
> Yuan Wang (1):
> vhost: support async dequeue for split ring
>
> doc/guides/prog_guide/vhost_lib.rst | 9 +
> doc/guides/sample_app_ug/vhost.rst | 9 +-
> examples/vhost/ioat.c | 67 +++-
> examples/vhost/ioat.h | 25 ++
> examples/vhost/main.c | 224 +++++++----
> examples/vhost/main.h | 33 +-
> examples/vhost/virtio_net.c | 16 +-
> lib/vhost/rte_vhost_async.h | 39 +-
> lib/vhost/version.map | 3 +
> lib/vhost/virtio_net.c | 586 ++++++++++++++++++++++++++++
> 10 files changed, 904 insertions(+), 107 deletions(-)
>
> --
> 2.25.1