From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Traynor Subject: Re: [PATCH 1/5] net/virtio: fix vector Rx break caused by rxq flushing Date: Fri, 8 Dec 2017 10:17:22 +0000 Message-ID: <180be858-0b4c-8d8c-ef84-3a2931df8cab@redhat.com> References: <20171207053059.19487-1-tiwei.bie@intel.com> <20171207053059.19487-2-tiwei.bie@intel.com> <9407e2ce-8b2b-9a9d-a493-1757609184a9@redhat.com> <20171208023034.4f5u3fujmupraaia@debian-xvivbkq> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: yliu@fridaylinux.org, maxime.coquelin@redhat.com, dev@dpdk.org, antonio.fischetti@intel.com, stable@dpdk.org, "Kavanagh, Mark B" To: Tiwei Bie Return-path: In-Reply-To: <20171208023034.4f5u3fujmupraaia@debian-xvivbkq> 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/08/2017 02:30 AM, Tiwei Bie wrote: > On Thu, Dec 07, 2017 at 04:00:57PM +0000, Kevin Traynor wrote: >> On 12/07/2017 05: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. >>> >> >> Hi Tiwei, does the issue only occur with the vector rx? How about if the >> simple rx is used because VIRTIO_NET_F_MRG_RXBUF is set? > > Hi Kevin, > > Yes, you are right! The issue only occurs with the vector > Rx. The vector Rx (i.e. the simple Rx) won't be used if > VIRTIO_NET_F_MRG_RXBUF is set. > > Best regards, > Tiwei Bie > Thanks for clarifying this Tiwei, Kevin.