lkml.org 
[lkml]   [2021]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] KVM: Move VM's worker kthreads back to the original cgroups before exiting.
From
On 12/14/21 06:07, Vipin Sharma wrote:
>
> KVM terminates the worker kthreads by calling kthread_stop() which waits
> on the signal generated by exit_mm() in do_exit() during kthread's exit.

Instead of "signal", please spell it as "the 'exited' completion,
triggered by exit_mm(), via mm_release(), during the kthread's exit".
That makes things a bit clearer.

So the issue is that the kthread_stop happens around the time
exit_task_work() destroys the VM, but the process can go on and signal
its demise to the parent process before the kthread has been completely
dropped. Not even close() can fix it, though it may reduce the window
completely, so I agree that this is a bug and vhost has the same bug too.

Due to the issue with kthreadd_task not being exported, perhaps you can
change cgroup_attach_task_all to use kthreadd_task if the "from"
argument is NULL?

Paolo

\
 
 \ /
  Last update: 2021-12-15 19:29    [W:0.648 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site