Re: [PATCH v7 21/26] virtio: add helper virtio_find_vqs_ctx_size()

Xuan Zhuo
2022-03-09T09:59:57Z

On Wed, 9 Mar 2022 17:04:12 +0800, Jason Wang <jasowang@redhat.com> wrote:
>
> 在 2022/3/8 下午8:35, Xuan Zhuo 写道:
> > Introduce helper virtio_find_vqs_ctx_size() to call find_vqs and specify
> > the maximum size of each vq ring.
> >
> > Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
> > ---
> > include/linux/virtio_config.h | 12 ++++++++++++
> > 1 file changed, 12 insertions(+)
> >
> > diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h
> > index 5157524d8036..921d8610db0c 100644
> > --- a/include/linux/virtio_config.h
> > +++ b/include/linux/virtio_config.h
> > @@ -233,6 +233,18 @@ int virtio_find_vqs_ctx(struct virtio_device *vdev, unsigned nvqs,
> > desc, NULL);
> > }
> >
> > +static inline
> > +int virtio_find_vqs_ctx_size(struct virtio_device *vdev, u32 nvqs,
> > + struct virtqueue *vqs[],
> > + vq_callback_t *callbacks[],
> > + const char * const names[],
> > + const bool *ctx, struct irq_affinity *desc,
> > + u32 sizes[])
> > +{
> > + return vdev->config->find_vqs(vdev, nvqs, vqs, callbacks, names, ctx,
> > + desc, sizes);
> > +}
>
>
> Do we need to convert all the open coded direct call to find_vqs() other
> than net?

Do you mean calling find_vqs without a helper? The kernel doesn't do that
anymore.

Thanks.

>
> Thanks
>
>
> > +
> > /**
> > * virtio_reset_vq - reset a queue individually
> > * @vq: the virtqueue