On 05/22, Michal Hocko wrote: > > 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? Why? In the likely case (if CLONE_VM without CLONE_THREAD was not used) the last for_each_process() in mm_update_next_owner() will find another thread from the same group. Oh. I think mm_update_next_owner() needs some cleanups. Perhaps I'll send the patch today. > > 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. Yes, yes. I mentioned this to explain that we can't keep the exited leader as mm->owner in any case. And report that get_mem_cgroup_from_mm() looks racy. Oleg. -- 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>