On Fri, Oct 8, 2021 at 12:13 AM Maxime Coquelin <maxime.coque...@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