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?
Regards, Nicolas