[dpdk-dev] [PATCH 1/5] net/virtio: fix vector Rx break caused by rxq flushing
Maxime Coquelin
maxime.coquelin at redhat.com
Thu Dec 7 10:14:37 CET 2017
On 12/07/2017 06:30 AM, Tiwei Bie wrote:
> The vector Rx will be broken if backend has consumed all
> the descs in the avail ring before the device is started.
> Because in current implementation, vector Rx will return
> immediately without refilling the avail ring if the used
> ring is empty. So we have to refill the avail ring after
> flushing the elements in the used ring for vector Rx.
>
> Besides, vector Rx has a different ring layout assumption
> and mbuf management. So we need to handle it differently.
>
> Fixes: d8227497ec5c ("net/virtio: flush Rx queues on start")
> Cc: stable at dpdk.org
>
> Reported-by: Antonio Fischetti <antonio.fischetti at intel.com>
> Signed-off-by: Tiwei Bie <tiwei.bie at intel.com>
> ---
> drivers/net/virtio/virtio_ethdev.c | 2 +-
> drivers/net/virtio/virtqueue.c | 31 ++++++++++++++++++++++++-------
> drivers/net/virtio/virtqueue.h | 2 +-
> 3 files changed, 26 insertions(+), 9 deletions(-)
Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>
Thanks,
Maxime
More information about the dev
mailing list