[dpdk-dev] [PATCH v3 0/3] net/virtio: Rx paths improvements
Maxime Coquelin
maxime.coquelin at redhat.com
Thu Dec 20 18:27:15 CET 2018
First version of this series did merge out-of-order mergeable
and non-mergeable receive paths, but Intel STV team highlighted
some performance regression when using multiqueue with two cores
enqueueing descs on host, while a single core dequeues the
two queues.
I didn't manage to close the performance gap, so I decided to
give-up this refactoring. But while trying to optimize, I reworked
the meargeable function so that it looks like the in-order one.
I.e. descriptors are now dequeued in batches, so are descriptors
refilled. Doing that, I measure a perfromance gain of 6% when doing
rxonly microbenchmark with two cores on host, one in guest.
Changes since v2:
- Rebase after Jens' packed ring series
- Break refill loop if VQ_RING_DESC_CHAIN_END (Tiwei)
- Fixup commit message
Maxime Coquelin (3):
net/virtio: inline refill and offload helpers
net/virtio: add non-mergeable support to in-order path
net/virtio: improve batching in mergeable path
drivers/net/virtio/virtio_ethdev.c | 14 +-
drivers/net/virtio/virtio_ethdev.h | 2 +-
drivers/net/virtio/virtio_rxtx.c | 257 ++++++++++++++++-------------
3 files changed, 145 insertions(+), 128 deletions(-)
--
2.17.2
More information about the dev
mailing list