[dpdk-dev] [PATCH v3 0/3] net/virtio: Rx paths improvements

Maxime Coquelin maxime.coquelin at redhat.com
Fri Dec 21 10:20:36 CET 2018



On 12/20/18 6:27 PM, Maxime Coquelin wrote:
> 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(-)
> 

Applied to dpdk-next-virtio

Maxime


More information about the dev mailing list