On 05/20, Michal Hocko wrote: > > On Wed 20-05-15 19:53:02, Oleg Nesterov wrote: > > > > Yes, yes, the group leader can't go away until the whole thread-group dies. > > OK, then we should have a guarantee that mm->owner is always thread > group leader, right? No, please note that the exiting leader does exit_mm()->mm_update_next_owner() and this changes mm->owner. Btw, this connects to other potential cleanups... task_struct->mm looks a bit strange, we probably want to move it into signal_struct->mm and make exit_mm/etc per-process. But this is not trivial, and off-topic. Offtopic, because the exiting leader has to call mm_update_next_owner() in any case. Simply because it does cgroup_exit() after that, so get_mem_cgroup_from_mm() can't work if mm->owner is zombie. This also means that get_mem_cgroup_from_mm() can race with the exiting mm->owner unless I missed something. > > But can't we kill mm->owner somehow? > > I would be happy about that. But it is not that simple. Yes, yes, I understand. Oleg. -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html