Re: [PATCH v11 8/8] vhost: use vhost_tasks for worker threads

2023-08-13 Thread michael . christie
On 8/13/23 2:01 PM, Michael S. Tsirkin wrote: > On Fri, Aug 11, 2023 at 01:51:36PM -0500, Mike Christie wrote: >> On 8/10/23 1:57 PM, Michael S. Tsirkin wrote: >>> On Sat, Jul 22, 2023 at 11:03:29PM -0500, michael.chris...@oracle.com wrote: On 7/20/23 8:06 AM, Michael S. Tsirkin wrote: >

Re: [PATCH v11 8/8] vhost: use vhost_tasks for worker threads

2023-07-22 Thread michael . christie
On 7/20/23 8:06 AM, Michael S. Tsirkin wrote: > On Thu, Feb 02, 2023 at 05:25:17PM -0600, Mike Christie wrote: >> For vhost workers we use the kthread API which inherit's its values from >> and checks against the kthreadd thread. This results in the wrong RLIMITs >> being checked, so while tools

Re: [PATCH v2 0/2] vhost-scsi: Fix IO hangs when using windows

2023-07-10 Thread michael . christie
On 7/10/23 12:52 AM, Michael S. Tsirkin wrote: > On Sun, Jul 09, 2023 at 03:28:57PM -0500, Mike Christie wrote: >> The following patches were made over Linus's tree and fix an issue >> where windows guests will send iovecs with offset/lengths that result >> in IOs that are not aligned to 512. The

Re: Can vhost translate to io_uring?

2023-06-14 Thread michael . christie
On 6/14/23 1:02 AM, Eric W. Biederman wrote: > > I am sad my idea for simplifying things did not work out. > > > Let's try an even bigger idea to reduce maintenance and simplify things. > > Could vhost depend on io_uring? > > Could vhost just be a translation layer of existing vhost requests

Re: [CFT][PATCH v3] fork, vhost: Use CLONE_THREAD to fix freezer/ps regression

2023-06-03 Thread michael . christie
On 6/2/23 11:15 PM, Eric W. Biederman wrote: > > This fixes the ordering issue in vhost_task_fn so that get_signal > should not work. > > This patch is a gamble that during process exit or de_thread in exec > work will not be commonly queued from other threads. > > If this gamble turns out to

Re: [syzbot] [kvm?] [net?] [virt?] general protection fault in vhost_work_queue

2023-05-30 Thread michael . christie
On 5/30/23 11:17 AM, Stefano Garzarella wrote: > On Tue, May 30, 2023 at 11:09:09AM -0500, Mike Christie wrote: >> On 5/30/23 11:00 AM, Stefano Garzarella wrote: >>> I think it is partially related to commit 6e890c5d5021 ("vhost: use >>> vhost_tasks for worker threads") and commit 1a5f8090c6de

Re: [PATCH 3/3] fork, vhost: Use CLONE_THREAD to fix freezer/ps regression

2023-05-29 Thread michael . christie
On 5/29/23 2:35 PM, Mike Christie wrote: >> Hmm... If we you CLONE_THREAD the exiting vhost_worker() will auto-reap >> itself, > Oh wait, are you saying that when we get auto-reaped then we would do the last > fput and call the file_operations->release function right? We actually set >

Re: [PATCH 3/3] fork, vhost: Use CLONE_THREAD to fix freezer/ps regression

2023-05-29 Thread michael . christie
On 5/29/23 6:19 AM, Oleg Nesterov wrote: > If we want CLONE_THREAD, I think vhost_worker() should exit after get_signal() > returns SIGKILL. Perhaps it should "disable" vhost_work_queue() somehow and > flush the pending works on ->work_list before exit, I dunno. But imo it should > not wait for

Re: [PATCH 3/3] fork, vhost: Use CLONE_THREAD to fix freezer/ps regression

2023-05-29 Thread michael . christie
On 5/29/23 6:19 AM, Oleg Nesterov wrote: > On 05/27, Eric W. Biederman wrote: >> >> Looking forward I don't see not asking the worker threads to stop >> for the coredump right now causing any problems in the future. >> So I think we can use this to resolve the coredump issue I spotted. > > But we

[PATCH v7 00/14] vhost: multiple worker support

2023-04-28 Thread michael . christie
The following patches were built over Linux's tree. They allow us to support multiple vhost workers tasks per device. The design is a modified version of Stefan's original idea where userspace has the kernel create a worker and we pass back the pid. In this version instead of passing the pid

Re: [PATCH v2 0/7] vhost-scsi: Fix crashes and management op hangs

2023-03-20 Thread michael . christie
On 3/20/23 9:06 PM, Mike Christie wrote: > The following patches were made over Linus tree. Hi Michael, I see you merged my first version of the patchset in your vhost branch. Do you want me to just send a followup patchset? The major diff between the 2 versions: 1. I added the first 2 patches

Re: [PATCH 03/11] kthread: Pass in the thread's name during creation

2023-03-11 Thread michael . christie
On 3/11/23 2:53 AM, Christian Brauner wrote: > On Fri, Mar 10, 2023 at 04:03:24PM -0600, Mike Christie wrote: >> This has us pass in the thread's name during creation in kernel_thread. >> >> Signed-off-by: Mike Christie >> --- >> kernel/kthread.c | 35 ++- >> 1

Re: [PATCH V9 0/8] Use copy_process in vhost layer

2022-06-01 Thread michael . christie
On 5/12/22 4:46 PM, Mike Christie wrote: > The following patches were made over Eric's tree: > > git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git > > and his kthread-cleanups-for-v5.19 branch. Hi Eric, Did you have more review comments for the patches or are you ok

Re: [PATCH V6 01/10] Use copy_process in vhost layer

2021-12-17 Thread michael . christie
On 12/17/21 1:26 PM, Eric W. Biederman wrote: > Mike Christie writes: > >> The following patches made over Linus's tree, allow the vhost layer to do >> a copy_process on the thread that does the VHOST_SET_OWNER ioctl like how >> io_uring does a copy_process against its userspace app. This allows

Re: [PATCH V6 01/10] Use copy_process in vhost layer

2021-12-08 Thread michael . christie
On 12/8/21 2:34 PM, Michael S. Tsirkin wrote: > On Mon, Nov 29, 2021 at 01:46:57PM -0600, Mike Christie wrote: >> The following patches made over Linus's tree, allow the vhost layer to do >> a copy_process on the thread that does the VHOST_SET_OWNER ioctl like how >> io_uring does a copy_process

Re: [PATCH 5/7] vhost_vsock: simplify vhost_vsock_flush()

2021-12-08 Thread michael . christie
On 12/7/21 9:53 PM, Jason Wang wrote: > On Tue, Dec 7, 2021 at 10:45 AM Mike Christie > wrote: >> >> From: Andrey Ryabinin >> >> vhost_vsock_flush() calls vhost_work_dev_flush(vsock->vqs[i].poll.dev) >> before vhost_work_dev_flush(>dev). This seems pointless >> as vsock->vqs[i].poll.dev is the

Re: [PATCH V5 07/10] io_uring: switch to kernel_worker

2021-11-22 Thread michael . christie
On 11/22/21 8:20 AM, Jens Axboe wrote: > On 11/22/21 3:02 AM, Christian Brauner wrote: >> On Sun, Nov 21, 2021 at 11:17:11AM -0700, Jens Axboe wrote: >>> On 11/21/21 10:49 AM, Mike Christie wrote: Convert io_uring and io-wq to use kernel_worker. >>> >>> I don't like the kernel_worker name,

Re: [PATCH V3 11/11] vhost: allow userspace to create workers

2021-10-26 Thread michael . christie
On 10/26/21 12:37 AM, Jason Wang wrote: > > 在 2021/10/22 下午1:19, Mike Christie 写道: >> This patch allows userspace to create workers and bind them to vqs. You >> can have N workers per dev and also share N workers with M vqs. >> >> Signed-off-by: Mike Christie > > > A question, who is the best

Re: [PATCH V3 06/11] vhost-sock: convert to vq helpers

2021-10-25 Thread michael . christie
On 10/25/21 4:08 AM, Stefano Garzarella wrote: > On Fri, Oct 22, 2021 at 12:19:06AM -0500, Mike Christie wrote: >> Convert from vhost dev based helpers to vq ones. >> >> Signed-off-by: Mike Christie >> --- >> drivers/vhost/vsock.c | 8 +--- >> 1 file changed, 5 insertions(+), 3 deletions(-) >>

Re: [PATCH V3 11/11] vhost: allow userspace to create workers

2021-10-25 Thread michael . christie
On 10/23/21 3:11 PM, Michael S. Tsirkin wrote: > On Fri, Oct 22, 2021 at 01:17:26PM -0500, michael.chris...@oracle.com wrote: >> On 10/22/21 11:12 AM, michael.chris...@oracle.com wrote: >>> On 10/22/21 5:47 AM, Michael S. Tsirkin wrote: > diff --git a/include/uapi/linux/vhost.h

Re: [PATCH V3 11/11] vhost: allow userspace to create workers

2021-10-22 Thread michael . christie
On 10/22/21 11:12 AM, michael.chris...@oracle.com wrote: > On 10/22/21 5:47 AM, Michael S. Tsirkin wrote: >>> diff --git a/include/uapi/linux/vhost.h b/include/uapi/linux/vhost.h >>> index c998860d7bbc..e5c0669430e5 100644 >>> --- a/include/uapi/linux/vhost.h >>> +++ b/include/uapi/linux/vhost.h

Re: [PATCH V3 11/11] vhost: allow userspace to create workers

2021-10-22 Thread michael . christie
On 10/22/21 5:47 AM, Michael S. Tsirkin wrote: >> diff --git a/include/uapi/linux/vhost.h b/include/uapi/linux/vhost.h >> index c998860d7bbc..e5c0669430e5 100644 >> --- a/include/uapi/linux/vhost.h >> +++ b/include/uapi/linux/vhost.h >> @@ -70,6 +70,17 @@ >> #define VHOST_VRING_BIG_ENDIAN 1 >>

Re: [PATCH V3 00/11] vhost: multiple worker support

2021-10-22 Thread michael . christie
Ccing Christian for the kernel worker API merging stuff. On 10/22/21 4:48 AM, Michael S. Tsirkin wrote: > On Fri, Oct 22, 2021 at 12:18:59AM -0500, Mike Christie wrote: >> The following patches apply over linus's tree and this patchset >> >>

Re: [PATCH V3 00/11] vhost: multiple worker support

2021-10-22 Thread michael . christie
On 10/22/21 12:18 AM, Mike Christie wrote: > Results: > > > fio jobs1 2 4 8 12 16 > -- > 1 worker84k492k510k- - - That should be 184k above. > worker per vq

Re: [PATCH 2/3] kernel/fork, cred.c: allow copy_process to take user

2021-07-01 Thread michael . christie
On 6/29/21 11:53 AM, Mike Christie wrote: > On 6/29/21 8:04 AM, Christian Brauner wrote: >> On Wed, Jun 23, 2021 at 10:08:03PM -0500, Mike Christie wrote: >>> This allows kthread to pass copy_process the user we want to check for the >>> RLIMIT_NPROC limit for and also charge for the new process.

Re: [PATCH 7/9] vhost: allow userspace to create workers

2021-06-05 Thread michael . christie
On 6/3/21 9:30 AM, Stefan Hajnoczi wrote: >> +if (info->pid == VHOST_VRING_NEW_WORKER) { >> +worker = vhost_worker_create(dev); > > The maximum number of kthreads created is limited by > vhost_dev_init(nvqs)? For example VHOST_SCSI_MAX_VQ 128. > > IIUC kthread_create is not

Re: vhost: multiple worker support

2021-06-05 Thread michael . christie
On 6/3/21 5:16 PM, Mike Christie wrote: > On 6/3/21 9:37 AM, Stefan Hajnoczi wrote: >> On Tue, May 25, 2021 at 01:05:51PM -0500, Mike Christie wrote: >>> The following patches apply over linus's tree or mst's vhost branch >>> and my cleanup patchset: >>> >>>