2020-12-30 10:07:58

by Eli Cohen

[permalink] [raw]
Subject: Re: [PATCH 12/21] vhost-vdpa: introduce uAPI to get the number of virtqueue groups

On Wed, Dec 16, 2020 at 02:48:09PM +0800, Jason Wang wrote:
> Follows the vDPA support for multiple address spaces, this patch
> introduce uAPI for the userspace to know the number of virtqueue
> groups supported by the vDPA device.
>
> Signed-off-by: Jason Wang <[email protected]>
> ---
> drivers/vhost/vdpa.c | 4 ++++
> include/uapi/linux/vhost.h | 3 +++
> 2 files changed, 7 insertions(+)
>
> diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
> index 060d5b5b7e64..1ba5901b28e7 100644
> --- a/drivers/vhost/vdpa.c
> +++ b/drivers/vhost/vdpa.c
> @@ -536,6 +536,10 @@ static long vhost_vdpa_unlocked_ioctl(struct file *filep,
> case VHOST_VDPA_GET_VRING_NUM:
> r = vhost_vdpa_get_vring_num(v, argp);
> break;
> + case VHOST_VDPA_GET_GROUP_NUM:
> + r = copy_to_user(argp, &v->vdpa->ngroups,
> + sizeof(v->vdpa->ngroups));
> + break;

Is this and other ioctls already supported in qemu?

> case VHOST_SET_LOG_BASE:
> case VHOST_SET_LOG_FD:
> r = -ENOIOCTLCMD;
> diff --git a/include/uapi/linux/vhost.h b/include/uapi/linux/vhost.h
> index 59c6c0fbaba1..8a4e6e426bbf 100644
> --- a/include/uapi/linux/vhost.h
> +++ b/include/uapi/linux/vhost.h
> @@ -145,4 +145,7 @@
> /* Get the valid iova range */
> #define VHOST_VDPA_GET_IOVA_RANGE _IOR(VHOST_VIRTIO, 0x78, \
> struct vhost_vdpa_iova_range)
> +/* Get the number of virtqueue groups. */
> +#define VHOST_VDPA_GET_GROUP_NUM _IOR(VHOST_VIRTIO, 0x79, unsigned int)
> +
> #endif
> --
> 2.25.1
>


2020-12-31 02:41:12

by Jason Wang

[permalink] [raw]
Subject: Re: [PATCH 12/21] vhost-vdpa: introduce uAPI to get the number of virtqueue groups


On 2020/12/30 下午6:05, Eli Cohen wrote:
> On Wed, Dec 16, 2020 at 02:48:09PM +0800, Jason Wang wrote:
>> Follows the vDPA support for multiple address spaces, this patch
>> introduce uAPI for the userspace to know the number of virtqueue
>> groups supported by the vDPA device.
>>
>> Signed-off-by: Jason Wang<[email protected]>
>> ---
>> drivers/vhost/vdpa.c | 4 ++++
>> include/uapi/linux/vhost.h | 3 +++
>> 2 files changed, 7 insertions(+)
>>
>> diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
>> index 060d5b5b7e64..1ba5901b28e7 100644
>> --- a/drivers/vhost/vdpa.c
>> +++ b/drivers/vhost/vdpa.c
>> @@ -536,6 +536,10 @@ static long vhost_vdpa_unlocked_ioctl(struct file *filep,
>> case VHOST_VDPA_GET_VRING_NUM:
>> r = vhost_vdpa_get_vring_num(v, argp);
>> break;
>> + case VHOST_VDPA_GET_GROUP_NUM:
>> + r = copy_to_user(argp, &v->vdpa->ngroups,
>> + sizeof(v->vdpa->ngroups));
>> + break;
> Is this and other ioctls already supported in qemu?


Not yet, the prototype is under development.

I test the series with a small and dedicated userspace program.

Thanks


>