From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Coquelin Subject: Re: [PATCH 1/5] net/virtio: fix vector Rx break caused by rxq flushing Date: Thu, 7 Dec 2017 10:14:37 +0100 Message-ID: <919b79af-f532-5126-73eb-76415f641664@redhat.com> References: <20171207053059.19487-1-tiwei.bie@intel.com> <20171207053059.19487-2-tiwei.bie@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: antonio.fischetti@intel.com, stable@dpdk.org To: Tiwei Bie , yliu@fridaylinux.org, dev@dpdk.org Return-path: In-Reply-To: <20171207053059.19487-2-tiwei.bie@intel.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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@dpdk.org > > Reported-by: Antonio Fischetti > Signed-off-by: Tiwei Bie > --- > 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 Thanks, Maxime