Re: [PATCH repost] sched: export sched_set/getaffinity to modules
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2010-07-04 09:08:10
Also in:
kvm, lkml
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2010-07-04 09:08:10
Also in:
kvm, lkml
On Fri, Jul 02, 2010 at 11:06:37PM +0200, Oleg Nesterov wrote:
On 07/02, Peter Zijlstra wrote:quoted
On Fri, 2010-07-02 at 11:01 -0700, Sridhar Samudrala wrote:quoted
Does it (Tejun's kthread_clone() patch) also inherit the cgroup of the caller?Of course, its a simple do_fork() which inherits everything just as you would expect from a similar sys_clone()/sys_fork() call.Yes. And I'm afraid it can inherit more than we want. IIUC, this is called from ioctl(), right? Then the new thread becomes the natural child of the caller, and it shares ->mm with the parent. And files, dup_fd() without CLONE_FS. Signals. Say, if you send SIGKILL to this new thread, it can't sleep in TASK_INTERRUPTIBLE or KILLABLE after that. And this SIGKILL can be sent just because the parent gets SIGQUIT or abother coredumpable signal. Or the new thread can recieve SIGSTOP via ^Z. Perhaps this is OK, I do not know. Just to remind that kernel_thread() is merely clone(CLONE_VM). Oleg.
Right. Doing this might break things like flush. The signal and exit behaviour needs to be examined carefully. I am also unsure whether using such threads might be more expensive than inheriting kthreadd. -- MST