[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 19:10:24 CET 2017


Hi Tiwei, 
I've tested this patch on my 2 test cases described 
in the previous threads
 http://www.dpdk.org/ml/archives/dev/2017-November/081839.html
 http://www.dpdk.org/ml/archives/dev/2017-December/082801.html

 1. testpmd on the host and testpmd in the guest
 2. OvS-DPDK on the host and testpmd in the guest

and it works fine. 

I'm using DPDK v17.11 + this patch and I see traffic is now
flowing through the VM.


Tested-by: Antonio Fischetti <antonio.fischetti at intel.com>



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