[PATCH vhost v5 2/6] virtio: remove support for names array entries being null.
Jason Wang
jasowang at redhat.com
Mon Mar 25 21:28:34 PDT 2024
On Mon, Mar 25, 2024 at 5:04 PM Xuan Zhuo <xuanzhuo at linux.alibaba.com> 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 at linux.alibaba.com>
> ---
> 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?
[...]
> --- 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.
> --
> 2.32.0.3.g01195cf9f
>
More information about the linux-um
mailing list