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: sta...@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