Message ID | 20241210164456.925060-2-lulu@redhat.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | vhost: Add support of kthread API | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
On Wed, Dec 11, 2024 at 12:41:40AM +0800, Cindy Lu wrote: >The vhost now uses vhost_task and workers as a child of the owner thread. >While this aligns with containerization principles,it confuses some legacy nit: missing space in "principles,it" >userspace app, Therefore, we are reintroducing kthread API support. nit: "app, therefore" or "app. Therefore" > >Introduce a new parameter to enable users to choose between >kthread and task mode. > >Signed-off-by: Cindy Lu <lulu@redhat.com> >--- > drivers/vhost/vhost.c | 1 + > drivers/vhost/vhost.h | 1 + > 2 files changed, 2 insertions(+) > >diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c >index 9ac25d08f473..eaddbd39c29b 100644 >--- a/drivers/vhost/vhost.c >+++ b/drivers/vhost/vhost.c >@@ -552,6 +552,7 @@ void vhost_dev_init(struct vhost_dev *dev, > dev->byte_weight = byte_weight; > dev->use_worker = use_worker; > dev->msg_handler = msg_handler; >+ dev->inherit_owner = true; > init_waitqueue_head(&dev->wait); > INIT_LIST_HEAD(&dev->read_list); > INIT_LIST_HEAD(&dev->pending_list); >diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h >index bb75a292d50c..c650c4506c70 100644 >--- a/drivers/vhost/vhost.h >+++ b/drivers/vhost/vhost.h >@@ -176,6 +176,7 @@ struct vhost_dev { > int byte_weight; > struct xarray worker_xa; > bool use_worker; >+ bool inherit_owner; > int (*msg_handler)(struct vhost_dev *dev, u32 asid, > struct vhost_iotlb_msg *msg); > }; >-- >2.45.0 >
On Wed, Dec 11, 2024 at 1:52 AM Stefano Garzarella <sgarzare@redhat.com> wrote: > > On Wed, Dec 11, 2024 at 12:41:40AM +0800, Cindy Lu wrote: > >The vhost now uses vhost_task and workers as a child of the owner thread. > >While this aligns with containerization principles,it confuses some legacy > > nit: missing space in "principles,it" > Thanks Stefano, will fix this > >userspace app, Therefore, we are reintroducing kthread API support. > > nit: "app, therefore" or "app. Therefore" > sure, will fix this > > > >Introduce a new parameter to enable users to choose between > >kthread and task mode. > > > >Signed-off-by: Cindy Lu <lulu@redhat.com> > >--- > > drivers/vhost/vhost.c | 1 + > > drivers/vhost/vhost.h | 1 + > > 2 files changed, 2 insertions(+) > > > >diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > >index 9ac25d08f473..eaddbd39c29b 100644 > >--- a/drivers/vhost/vhost.c > >+++ b/drivers/vhost/vhost.c > >@@ -552,6 +552,7 @@ void vhost_dev_init(struct vhost_dev *dev, > > dev->byte_weight = byte_weight; > > dev->use_worker = use_worker; > > dev->msg_handler = msg_handler; > >+ dev->inherit_owner = true; > > init_waitqueue_head(&dev->wait); > > INIT_LIST_HEAD(&dev->read_list); > > INIT_LIST_HEAD(&dev->pending_list); > >diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h > >index bb75a292d50c..c650c4506c70 100644 > >--- a/drivers/vhost/vhost.h > >+++ b/drivers/vhost/vhost.h > >@@ -176,6 +176,7 @@ struct vhost_dev { > > int byte_weight; > > struct xarray worker_xa; > > bool use_worker; > >+ bool inherit_owner; > > int (*msg_handler)(struct vhost_dev *dev, u32 asid, > > struct vhost_iotlb_msg *msg); > > }; > >-- > >2.45.0 > > >
diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 9ac25d08f473..eaddbd39c29b 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -552,6 +552,7 @@ void vhost_dev_init(struct vhost_dev *dev, dev->byte_weight = byte_weight; dev->use_worker = use_worker; dev->msg_handler = msg_handler; + dev->inherit_owner = true; init_waitqueue_head(&dev->wait); INIT_LIST_HEAD(&dev->read_list); INIT_LIST_HEAD(&dev->pending_list); diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h index bb75a292d50c..c650c4506c70 100644 --- a/drivers/vhost/vhost.h +++ b/drivers/vhost/vhost.h @@ -176,6 +176,7 @@ struct vhost_dev { int byte_weight; struct xarray worker_xa; bool use_worker; + bool inherit_owner; int (*msg_handler)(struct vhost_dev *dev, u32 asid, struct vhost_iotlb_msg *msg); };
The vhost now uses vhost_task and workers as a child of the owner thread. While this aligns with containerization principles,it confuses some legacy userspace app, Therefore, we are reintroducing kthread API support. Introduce a new parameter to enable users to choose between kthread and task mode. Signed-off-by: Cindy Lu <lulu@redhat.com> --- drivers/vhost/vhost.c | 1 + drivers/vhost/vhost.h | 1 + 2 files changed, 2 insertions(+)