On Tue, 26 Mar 2024 12:28:34 +0800, Jason Wang <jasowang@xxxxxxxxxx> wrote: > On Mon, Mar 25, 2024 at 5:04 PM Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx> wrote: > > > > commit 6457f126c888 ("virtio: support reserved vqs") introduced this > > support. Multiqueue virtio-net use 2N as ctrl vq finally, so the logic > > doesn't apply. And not one uses this. > > > > On the other side, that makes some trouble for us to refactor the > > find_vqs() params. > > > > So I remove this support. > > > > Signed-off-by: Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx> > > --- > > arch/um/drivers/virtio_uml.c | 5 ----- > > drivers/platform/mellanox/mlxbf-tmfifo.c | 4 ---- > > drivers/remoteproc/remoteproc_virtio.c | 5 ----- > > drivers/s390/virtio/virtio_ccw.c | 5 ----- > > drivers/virtio/virtio_mmio.c | 5 ----- > > drivers/virtio/virtio_pci_common.c | 9 --------- > > drivers/virtio/virtio_vdpa.c | 5 ----- > > include/linux/virtio_config.h | 1 - > > 8 files changed, 39 deletions(-) > > > > diff --git a/arch/um/drivers/virtio_uml.c b/arch/um/drivers/virtio_uml.c > > index 8adca2000e51..1d1e8654b7fc 100644 > > --- a/arch/um/drivers/virtio_uml.c > > +++ b/arch/um/drivers/virtio_uml.c > > @@ -1031,11 +1031,6 @@ static int vu_find_vqs(struct virtio_device *vdev, unsigned nvqs, > > return rc; > > > > for (i = 0; i < nvqs; ++i) { > > - if (!names[i]) { > > - vqs[i] = NULL; > > - continue; > > - } > > Does this mean names[i] must not be NULL? If yes, should we fail or > not? If not, do we need to change the doc? I think we should make sure that the names[i] must not be NULL. We should return fail. > > [...] > > > --- a/include/linux/virtio_config.h > > +++ b/include/linux/virtio_config.h > > @@ -56,7 +56,6 @@ typedef void vq_callback_t(struct virtqueue *); > > * callbacks: array of callbacks, for each virtqueue > > * include a NULL entry for vqs that do not need a callback > > * names: array of virtqueue names (mainly for debugging) > > - * include a NULL entry for vqs unused by driver > > * Returns 0 on success or error status > > * @del_vqs: free virtqueues found by find_vqs(). > > * @synchronize_cbs: synchronize with the virtqueue callbacks (optional) > > > Since we had other check for names[i] like: > > if (per_vq_vectors) { > /* Best option: one for change interrupt, one per vq. */ > nvectors = 1; > for (i = 0; i < nvqs; ++i) > if (names[i] && callbacks[i]) > ++nvectors; > > in vp_find_vqs_msix() and maybe other places. names[i] should always be true. I will check this. Thanks > > > -- > > 2.32.0.3.g01195cf9f > > >