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

