From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 843951C00; Thu, 7 Dec 2017 10:14:47 +0100 (CET) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7F9A521BA7; Thu, 7 Dec 2017 09:14:46 +0000 (UTC) Received: from [10.36.112.55] (ovpn-112-55.ams2.redhat.com [10.36.112.55]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 65B7960C20; Thu, 7 Dec 2017 09:14:41 +0000 (UTC) To: Tiwei Bie , yliu@fridaylinux.org, dev@dpdk.org Cc: antonio.fischetti@intel.com, stable@dpdk.org References: <20171207053059.19487-1-tiwei.bie@intel.com> <20171207053059.19487-2-tiwei.bie@intel.com> From: Maxime Coquelin Message-ID: <919b79af-f532-5126-73eb-76415f641664@redhat.com> Date: Thu, 7 Dec 2017 10:14:37 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171207053059.19487-2-tiwei.bie@intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 07 Dec 2017 09:14:46 +0000 (UTC) Subject: Re: [dpdk-dev] [PATCH 1/5] net/virtio: fix vector Rx break caused by rxq flushing X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Dec 2017 09:14:47 -0000 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