[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6107dcb2-51a3-42f8-b856-f443c0e2a60d@6wind.com>
Date: Wed, 18 Jun 2025 14:06:30 +0200
From: Nicolas Dichtel <nicolas.dichtel@...nd.com>
To: Cindy Lu <lulu@...hat.com>, jasowang@...hat.com, mst@...hat.com,
michael.christie@...cle.com, sgarzare@...hat.com,
linux-kernel@...r.kernel.org, virtualization@...ts.linux-foundation.org,
netdev@...r.kernel.org
Subject: Re: [PATCH v12 1/1] vhost: Reintroduces support of kthread API and
adds mode selection
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 <lulu@...hat.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
Powered by blists - more mailing lists