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

Antonio

> -----Original Message-----
> From: Maxime Coquelin [mailto:[email protected]]
> Sent: Thursday, December 7, 2017 9:15 AM
> To: Bie, Tiwei <[email protected]>; [email protected]; [email protected]
> Cc: Fischetti, Antonio <[email protected]>; [email protected]
> 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: [email protected]
> >
> > Reported-by: Antonio Fischetti <[email protected]>
> > Signed-off-by: Tiwei Bie <[email protected]>
> > ---
> >   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 <[email protected]>
> 
> Thanks,
> Maxime

Reply via email to