On 06/02, Paul Menage wrote: > > On Wed, Jun 2, 2010 at 1:20 PM, Oleg Nesterov <oleg@xxxxxxxxxx> wrote: > > > > Yes sure. The main thread can exit via sys_exit(), this doesn't affect > > the thread group. Of course, I am not saying this is common practice, > > perhaps no "important" app does this. > > This check has been in cgroups for quite a while and no-one's > complained so far... Sure. because currently attach_task_by_pid() works with the single thread. But Ben's patch reuses this code to call cgroup_attach_proc(). > > But I still can't understand why we can't just remove it. Both > > cgroup_attach_task() and cgroup_attach_proc() should handle the > > possible races correctly anyway. > > The "it" that you're proposing to remove is in fact the code that > handles those races. In that case I confused, and I thought we already agreed that the PF_EXITING check in attach_task_by_pid() is not strictly needed for correctness. Once again, the task can call do_exit() and set PF_EXITING right after the check. > Anyway, I think this issue is orthogonal to the movability of entire > processes - with Ben's patch, an exited-but-not-reaped group leader is > immovable either via "tasks" or "cgroup.procs". Hmm. As I said, I didn't really read this patch. But I thought that cgroup_attach_proc() tries to handle this. Anyway I agree, this is minor and I never pretended I understand this code. Hmm. The usage of ->thread_group in ->can_attach() methods doesn't look safe to me... but currently bool threadgroup is always false. Oleg. _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers