virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Cindy Lu <lulu@redhat.com>
Cc: jasowang@redhat.com, michael.christie@oracle.com,
	linux-kernel@vger.kernel.org,
	virtualization@lists.linux-foundation.org
Subject: Re: [RESEND PATCH v1 0/7]vhost: Add support of kthread API
Date: Tue, 10 Sep 2024 03:41:52 -0400	[thread overview]
Message-ID: <20240910032825-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20240909020138.1245873-1-lulu@redhat.com>

On Mon, Sep 09, 2024 at 10:00:38AM +0800, Cindy Lu wrote:
> 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, the APIs do not make sense, security does not make sense,
and you are not describing the issue and the fix.


The name should reflect what this does from userspace POV, not from
kernel API POV.  kthread and task mode is not something that any users
have any business even to consider.


To help you out, some ideas:

I think the issue is something like "vhost is now a child of the
owner thread. While this makes sense from containerization
POV, some old userspace is confused, as previously vhost not
and so was allowed to steal cpu resources from outside the container."

Now, what can be done? Given we already released a secure kernel,
I am not inclined to revert it back to be insecure by default.
But I'm fine with a modparam to allow userspace to get insecure
behaviour.


Now, a modparam is annoying in that it affects all userspace,
and people might be running a mix of old and new userspace.
So if we do that, we also want a flag that will get
safe behaviour even if unsafe one is allowed.


Is this clear enough, or do I need to elaborate more?

Thanks!

> 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


  parent reply	other threads:[~2024-09-10  7:42 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-09  2:00 [RESEND PATCH v1 0/7]vhost: Add support of kthread API Cindy Lu
2024-09-09  2:00 ` [RESEND PATCH v1 1/7] vhost: Add a new module_param for enable kthread Cindy Lu
2024-09-10  5:12   ` kernel test robot
2024-09-09  2:00 ` [RESEND PATCH v1 2/7] vhost: Add kthread support in function vhost_worker_queue() Cindy Lu
2024-09-09  2:00 ` [RESEND PATCH v1 3/7] vhost: Add kthread support in function vhost_workers_free() Cindy Lu
2024-09-09  2:00 ` [RESEND PATCH v1 4/7] vhost: Add the vhost_worker to support kthread Cindy Lu
2024-09-09  2:00 ` [RESEND PATCH v1 5/7] vhost: Add the cgroup related function Cindy Lu
2024-09-09  2:00 ` [RESEND PATCH v1 6/7] vhost: Add kthread support in function vhost_worker_create Cindy Lu
2024-09-09  2:00 ` [RESEND PATCH v1 7/7] vhost: Add new UAPI to support change to task mode Cindy Lu
2024-09-10  7:41 ` Michael S. Tsirkin [this message]
2024-09-10  8:37   ` [RESEND PATCH v1 0/7]vhost: Add support of kthread API Jason Wang
2024-09-10  8:42     ` Michael S. Tsirkin
2024-09-11  3:45       ` Jason Wang
2024-09-11 10:28         ` Michael S. Tsirkin
2024-09-11 16:17         ` Mike Christie
     [not found]           ` <CACGkMEvAR_2j=PdKZZyAZ1yK7H5OO+Ldc0Eygwyo8rMR=_uGBQ@mail.gmail.com>
2024-09-23  1:15             ` Cindy Lu
2024-09-11 16:20   ` Mike Christie
2024-09-11 19:02     ` Michael S. Tsirkin
2024-09-12  1:47       ` Jason Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240910032825-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lulu@redhat.com \
    --cc=michael.christie@oracle.com \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).