From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id 52D741B2E8; Thu, 18 Jan 2018 14:55:51 +0100 (CET) Received: from lfbn-lil-1-110-231.w90-45.abo.wanadoo.fr ([90.45.197.231] helo=droids-corp.org) by mail.droids-corp.org with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ecAfW-0007lK-Mc; Thu, 18 Jan 2018 14:55:51 +0100 Received: by droids-corp.org (sSMTP sendmail emulation); Thu, 18 Jan 2018 14:55:44 +0100 Date: Thu, 18 Jan 2018 14:55:44 +0100 From: Olivier Matz To: Yuanhan Liu Cc: dev@dpdk.org, Maxime Coquelin , Tiwei Bie , stable@dpdk.org Message-ID: <20180118135544.wtvupq3dca6yfxeh@platinum> References: <20180118090733.12728-1-olivier.matz@6wind.com> <20180118090733.12728-3-olivier.matz@6wind.com> <20180118132609.GG29540@yliu-mob> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180118132609.GG29540@yliu-mob> User-Agent: NeoMutt/20170113 (1.7.2) Subject: Re: [dpdk-dev] [PATCH 2/3] net/virtio: rationalize queue 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, 18 Jan 2018 13:55:51 -0000 On Thu, Jan 18, 2018 at 09:26:09PM +0800, Yuanhan Liu wrote: > Hi Oliver, > > On Thu, Jan 18, 2018 at 10:07:32AM +0100, Olivier Matz wrote: > > Rationalize the function virtio_dev_free_mbufs(): > > > > - skip NULL vqs instead of crashing: this is required for the > > next commit > > - use the same kind of loop than in virtio_free_queues() > > - also flush mbufs from the control queue (this is useless yet) > > Could we just do "nr_vq = virtio_get_nr_vq(hw) - 1" with a comment that > CQ is excluded, for skipping the CQ? Is "nr_vq = virtio_get_nr_vq(hw) - 1" always valid? Shouldn't we do this check? if (vtpci_with_feature(hw, VIRTIO_NET_F_CTRL_VQ)) Instead, I suggest this: queue_type = virtio_get_queue_type(hw, i); if (queue_type == VTNET_RQ) type = "rxq"; else if (queue_type == VTNET_TQ) type = "txq"; else - type = "cq"; + continue; > > - factorize common code between rxq, txq, cq > > > > Cc: stable@dpdk.org > > Could you split the patch two 2: > > - one for fixing the crash (skip the NULL vqs). We only need this one > for stable release. > - another one for the refactoring Yes, do you want them all in the same patchset? Thank you for the comments Olivier