[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250609073430.442159-1-lulu@redhat.com>
Date: Mon, 9 Jun 2025 15:33:06 +0800
From: Cindy Lu <lulu@...hat.com>
To: 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: [PATCH v11 0/3] vhost: Add support of kthread API
In this series, a new UAPI is implemented to allow
userspace applications to configure their thread mode.
Changelog v2:
1. Change the module_param's name to enforce_inherit_owner, and the default value is true.
2. Change the UAPI's name to VHOST_SET_INHERIT_FROM_OWNER.
Changelog v3:
1. Change the module_param's name to inherit_owner_default, and the default value is true.
2. Add a structure for task function; the worker will select a different mode based on the value inherit_owner.
3. device will have their own inherit_owner in struct vhost_dev
4. Address other comments
Changelog v4:
1. remove the module_param, only keep the UAPI
2. remove the structure for task function; change to use the function pointer in vhost_worker
3. fix the issue in vhost_worker_create and vhost_dev_ioctl
4. Address other comments
Changelog v5:
1. Change wakeup and stop function pointers in struct vhost_worker to void.
2. merging patches 4, 5, 6 in a single patch
3. Fix spelling issues and address other comments.
Changelog v6:
1. move the check of VHOST_NEW_WORKER from vhost_scsi to vhost
2. Change the ioctl name VHOST_SET_INHERIT_FROM_OWNER to VHOST_FORK_FROM_OWNER
3. reuse the function __vhost_worker_flush
4. use a ops sturct to support worker relates function
5. reset the value of inherit_owner in vhost_dev_reset_owner.
Changelog v7:
1. add a KConfig knob to disable legacy app support
2. Split the changes into two patches to separately introduce the ops and add kthread support.
3. Utilized INX_MAX to avoid modifications in __vhost_worker_flush
4. Rebased on the latest kernel
5. Address other comments
Changelog v8:
1. Rebased on the latest kernel
2. Address some other comments
Changelog v9:
1. Rebased on the latest kernel.
2. Squashed patches 6‑7.
3. Squashed patches 2‑4.
4. Minor fixes in commit log
Changelog v10:
1.Add support for the module_param.
2.Squash patches 3 and 4.
3.Make minor fixes in the commit log.
4.Fix the mismatched tabs in Kconfig.
5.Rebase on the latest kernel.
Changelog v11:
1.make the module_param under Kconfig
2.Make minor fixes in the commit log.
3.change the name inherit_owner to fork_owner
4.add NEW ioctl VHOST_GET_FORK_FROM_OWNER
5.Rebase on the latest kernel
Tested with QEMU with kthread mode/task mode/kthread+task mode
Cindy Lu (3):
vhost: Add a new parameter in vhost_dev to allow user select kthread
vhost: Reintroduce kthread mode support in vhost
vhost: Add configuration controls for vhost worker's mode
drivers/vhost/Kconfig | 17 +++
drivers/vhost/vhost.c | 234 ++++++++++++++++++++++++++++++++++---
drivers/vhost/vhost.h | 22 ++++
include/uapi/linux/vhost.h | 25 ++++
4 files changed, 280 insertions(+), 18 deletions(-)
--
2.45.0
Powered by blists - more mailing lists