On Tue, 15 Oct 2024 at 04:56, Mike Christie <michael.christie@xxxxxxxxxx> wrote: > > On 10/3/24 8:58 PM, Cindy Lu wrote: > > Add a new UAPI to support setting the vhost device to > > use task mode. The user space application needs to use > > VHOST_SET_INHERIT_FROM_OWNER to set the mode. > > This setting must be set before VHOST_SET_OWNER is set. > > > > Signed-off-by: Cindy Lu <lulu@xxxxxxxxxx> > > --- > > drivers/vhost/vhost.c | 18 +++++++++++++++++- > > include/uapi/linux/vhost.h | 2 ++ > > 2 files changed, 19 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > > index 08c9e77916ca..0e5c81026acd 100644 > > --- a/drivers/vhost/vhost.c > > +++ b/drivers/vhost/vhost.c > > @@ -2341,8 +2341,24 @@ long vhost_dev_ioctl(struct vhost_dev *d, unsigned int ioctl, void __user *argp) > > { > > struct eventfd_ctx *ctx; > > u64 p; > > - long r; > > + long r = 0; > > int i, fd; > > + bool inherit_owner; > > + > > + if (ioctl == VHOST_SET_INHERIT_FROM_OWNER) { > > Maybe instead of a modparam and this ioctl we just want a new ioctl: > > /* > * This will setup the owner based on the calling thread instead of > * using kthread. > */ > #define VHOST_INHERIT_OWNER _IO(VHOST_VIRTIO, 0x83) > > It would initially be used by vhost-scsi when worker_per_virtqueue=true > since that is a new use case and there will be no regressions. > > For the other cases we default to VHOST_SET_OWNER. Other QEMU cases or > tool XYZ can use the new ioctl when they are ready. > If I understand correctly, this means the default vhost function is using kthread? Thanks Cindy