In commit 6e890c5d5021 ("vhost: use vhost_tasks for worker threads"), vhost removed the support for the kthread API. However, there are still situations where there is a request to use kthread. In this PATCH, the support of kthread is added back. Additionally, a module_param is added to enforce which mode we are using, and a new UAPI is introduced to allow the userspace app to set the mode they want to use. Tested the user application with QEMU. Cindy Lu (7): vhost: Add a new module_param for enable kthread vhost: Add kthread support in function vhost_worker_queue() vhost: Add kthread support in function vhost_workers_free() vhost: Add the vhost_worker to support kthread vhost: Add the cgroup related function vhost: Add kthread support in function vhost_worker_create vhost: Add new UAPI to support change to task mode drivers/vhost/vhost.c | 246 +++++++++++++++++++++++++++++++++++-- drivers/vhost/vhost.h | 1 + include/uapi/linux/vhost.h | 2 + 3 files changed, 240 insertions(+), 9 deletions(-) -- 2.45.0