[dpdk-dev] [PATCH 1/5] net/virtio: fix vector Rx break caused by rxq flushing

Fischetti, Antonio antonio.fischetti at intel.com
Thu Dec 7 10:30:04 CET 2017


Thanks Tiwei for working on this, I'll give it a try soon.

Antonio

> -----Original Message-----
> From: Maxime Coquelin [mailto:maxime.coquelin at redhat.com]
> Sent: Thursday, December 7, 2017 9:15 AM
> To: Bie, Tiwei <tiwei.bie at intel.com>; yliu at fridaylinux.org; dev at dpdk.org
> Cc: Fischetti, Antonio <antonio.fischetti at intel.com>; stable at dpdk.org
> Subject: Re: [PATCH 1/5] net/virtio: fix vector Rx break caused by rxq
> flushing
> 
> 
> 
> 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