On Thu 21-05-15 21:27:16, Oleg Nesterov wrote: > 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. I am confused now. Yeah it changes the owner but the new one will be again the thread group leader, right? > 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. I am not sure this is a good idea but I would have to think about this some more. Let's not distract this email thread and discuss it in a separate thread please. > 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. > Thanks! -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>