Re: [PATCH v2 1/7] vhost: Add a new modparam to allow userspace select vhost_task

From: Stefano Garzarella
Date: Wed Oct 09 2024 - 04:15:35 EST


On Wed, Oct 09, 2024 at 03:28:19PM GMT, Jason Wang wrote:
On Mon, Oct 7, 2024 at 9:31 PM Stefano Garzarella <sgarzare@xxxxxxxxxx> wrote:

On Fri, Oct 04, 2024 at 09:58:15AM GMT, Cindy Lu wrote:
>The vhost is now using vhost_task and working as a child of the owner thread.
>While this makes sense from containerization POV, some old userspace is
>confused, as previously vhost not

not what?

> and so was allowed to steal cpu resources
>from outside the container. So we add the kthread API support back

Sorry, but it's not clear the reason.

I understand that we want to provide a way to bring back the previous
behavior when we had kthreads, but why do we want that?
Do you have examples where the new mechanism is causing problems?


The main difference is whose (kthreadd or the owner) attributes
(namespace, affinities) would vhost thread inherit.

The owner's attributes tend to be different from kthreadd, so
management might be surprised for example, vhost might be created in
different namespaces or having different scheduling affinities.

Okay, so this requires some API to allow the managment to understand how the device vhost will be created.

But why do we need to restore the old behavior with a kthread where the resource accounting is completely disconnected from userspace?
For the old managments that don't expect this?

BTW I would suggest adding all this information in this commit, in the parameter/IOCTL documentation, and in the cover letter because IMHO it is very important.

Thanks,
Stefano