[dpdk-dev] [RFC 00/14] vhost: clean-up and simplify async implementation

David Marchand david.marchand at redhat.com
Fri Oct 8 14:36:04 CEST 2021


On Fri, Oct 8, 2021 at 12:13 AM Maxime Coquelin
<maxime.coquelin at redhat.com> wrote:
>
> This series aims at cleaning and simplifying the async
> enqueue path. I think it makes the code easier to
> understand, and is necessary before integrating new
> changes.
>
> I may have more reworks to propose in next revisions,

There is some consolidation that could be done in split/packed
sync/async rx helpers too.
Is this what you have in mind?


> but I wanted to share my current status early so that
> you have time to review/test it.
>
> It is only compile-tested, as I don't have HW with IOAT
> support to test it.
>
> Maxime Coquelin (14):
>   vhost: move async data in a dedicated structure
>   vhost: hide inflight async structure
>   vhost: simplify async IO vectors
>   vhost: simplify async IO vectors iterators
>   vhost: remove async batch threshold
>   vhost: introduce specific iovec structure
>   vhost: remove useless fields in async iterator struct
>   vhost: improve IO vector logic
>   vhost: remove notion of async descriptor
>   vhost: simplify async enqueue completion
>   vhost: simplify getting the first in-flight index
>   vhost: prepare async for mbuf to desc refactoring
>   vhost: prepare sync for mbuf to desc refactoring
>   vhost: merge sync and async mbuf to desc filling
>
>  examples/vhost/ioat.c       |  30 +-
>  examples/vhost/ioat.h       |   2 +-
>  lib/vhost/rte_vhost_async.h |  42 +--
>  lib/vhost/vhost.c           | 129 +++----
>  lib/vhost/vhost.h           |  67 ++--
>  lib/vhost/vhost_user.c      |   4 +-
>  lib/vhost/virtio_net.c      | 697 ++++++++++++++----------------------
>  7 files changed, 379 insertions(+), 592 deletions(-)

Just had a quick look.
Nice to shrink vq memory footprint again.
And less code is always better.

+1 from me.


-- 
David Marchand



More information about the dev mailing list