[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