From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yuanhan Liu Subject: Re: [PATCH 2/3] net/virtio: rationalize queue flushing Date: Thu, 18 Jan 2018 22:04:55 +0800 Message-ID: <20180118140455.GJ29540@yliu-mob> References: <20180118090733.12728-1-olivier.matz@6wind.com> <20180118090733.12728-3-olivier.matz@6wind.com> <20180118132609.GG29540@yliu-mob> <20180118135544.wtvupq3dca6yfxeh@platinum> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org, Maxime Coquelin , Tiwei Bie , stable@dpdk.org To: Olivier Matz Return-path: Content-Disposition: inline In-Reply-To: <20180118135544.wtvupq3dca6yfxeh@platinum> 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 Thu, Jan 18, 2018 at 02:55:44PM +0100, Olivier Matz wrote: > 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; Yes, this is better. > > > > - 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? I think it's okay. Thanks. --yliu