On 4/27/21 10:03 AM, Cheng Jiang wrote:
> For now async vhost data path only supports split ring structure. In
> order to make async vhost compatible with virtio 1.1 spec this patch
> set cleans async split ring codes and enables packed ring in async
> vhost data path. Batch datapath is also enabled in async vhost
> packed ring.
>
> v9:
> * improve some variable initiation
> * fix some variable names for consistency
> * rebase on the latest code
> v8:
> * fix some variable names for consistency
> * clean codes
> v7:
> * fix compile issues
> * add argument *dev in vhost_free_async_mem() for ring type decision
> v6:
> * fix some typos in commit log
> * improve index usage
> * remove shadow_ring_store()
> * add store_dma_desc_info_split() store_dma_desc_info_packed()
> * remove some checks in vhost_free_async_mem()
> * change index calculation since the size isn't necessarily a power of 2
> * move error handling in a dedicated function
> * clean codes
> v5:
> * clean some codes for packed ring datapath
> * fix an index error in shadow_ring_store()
> v4:
> * change the patch structure
> * clean code for async split ring
> * reuse some code from split ring
> * change the error handler for DMA-copy packet
> * add check for malloc
> * remove useless code
> * add doc update
> v3:
> * fix error handler for DMA-copy packet
> v2:
> * fix wrong buffer index in rte_vhost_poll_enqueue_completed()
> * add async_buffers_packed memory free in vhost_free_async_mem()
>
> Cheng Jiang (4):
> vhost: abstract and reorganize async split ring code
> vhost: add support for packed ring in async vhost
> vhost: add batch datapath for async vhost packed ring
> doc: add release note for vhost async packed ring
>
> doc/guides/rel_notes/release_21_05.rst | 4 +
> lib/vhost/rte_vhost_async.h | 1 +
> lib/vhost/vhost.c | 79 +++-
> lib/vhost/vhost.h | 15 +-
> lib/vhost/virtio_net.c | 598 +++++++++++++++++++++----
> 5 files changed, 587 insertions(+), 110 deletions(-)
>
> --
> 2.29.2
>
Applied to dpdk-next-virtio/main.
Thanks,
Maxime