mbox

[v2,0/3] net/virtio: Rx paths improvements

Message ID 20181211134804.10318-1-maxime.coquelin@redhat.com (mailing list archive)
Headers

Message

Maxime Coquelin Dec. 11, 2018, 1:48 p.m. UTC
  Initial 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.

The other two patches of the series haven't been modified.

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 |  11 +-
 drivers/net/virtio/virtio_ethdev.h |   2 +-
 drivers/net/virtio/virtio_rxtx.c   | 255 ++++++++++++++++-------------
 3 files changed, 141 insertions(+), 127 deletions(-)