On Thu, Jun 19, 2025 at 9:02 AM Jason Wang <jasow...@redhat.com> wrote: > > On Wed, Jun 18, 2025 at 8:06 PM Nicolas Dichtel > <nicolas.dich...@6wind.com> wrote: > > > > Le 16/06/2025 à 08:28, Cindy Lu a écrit : > > > This patch reintroduces kthread mode for vhost workers and provides > > > configuration to select between kthread and task worker. > > > > > > - Add 'fork_owner' parameter to vhost_dev to let users select kthread > > > or task mode. Default mode is task mode(VHOST_FORK_OWNER_TASK). > > > > > > - Reintroduce kthread mode support: > > > * Bring back the original vhost_worker() implementation, > > > and renamed to vhost_run_work_kthread_list(). > > > * Add cgroup support for the kthread > > > * Introduce struct vhost_worker_ops: > > > - Encapsulates create / stop / wake‑up callbacks. > > > - vhost_worker_create() selects the proper ops according to > > > inherit_owner. > > > > > > - Userspace configuration interface: > > > * New IOCTLs: > > > - VHOST_SET_FORK_FROM_OWNER lets userspace select task mode > > > (VHOST_FORK_OWNER_TASK) or kthread mode (VHOST_FORK_OWNER_KTHREAD) > > > - VHOST_GET_FORK_FROM_OWNER reads the current worker mode > > > * Expose module parameter 'fork_from_owner_default' to allow system > > > administrators to configure the default mode for vhost workers > > > * Kconfig option CONFIG_VHOST_ENABLE_FORK_OWNER_CONTROL controls whether > > > these IOCTLs and the parameter are available (for distros that may > > > want to disable them) > > > > > > - The VHOST_NEW_WORKER functionality requires fork_owner to be set > > > to true, with validation added to ensure proper configuration > > > > > > This partially reverts or improves upon: > > > commit 6e890c5d5021 ("vhost: use vhost_tasks for worker threads") > > > commit 1cdaafa1b8b4 ("vhost: replace single worker pointer with xarray") > > > > > > Signed-off-by: Cindy Lu <l...@redhat.com> > > > --- > > > drivers/vhost/Kconfig | 17 +++ > > > drivers/vhost/vhost.c | 244 ++++++++++++++++++++++++++++++++++--- > > > drivers/vhost/vhost.h | 22 ++++ > > > include/uapi/linux/vhost.h | 29 +++++ > > > 4 files changed, 294 insertions(+), 18 deletions(-) > > > > > > diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig > > > index 020d4fbb947c..1b3602b1f8e2 100644 > > > --- a/drivers/vhost/Kconfig > > > +++ b/drivers/vhost/Kconfig > > > @@ -95,4 +95,21 @@ config VHOST_CROSS_ENDIAN_LEGACY > > > > > > If unsure, say "N". > > > > > > +config VHOST_ENABLE_FORK_OWNER_CONTROL > > > + bool "Enable VHOST_ENABLE_FORK_OWNER_CONTROL" > > > + default n > > Why disabling this option by default? > > I think we should enable this by default. > > Thanks > Thanks jason, I will send a new version Thanks cindy > > > > Regards, > > Nicolas > > >