On Fri 22-05-15 18:29:00, Oleg Nesterov wrote: > 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. My understanding was that for_each_process will iterate only over processes (represented by the thread group leaders). That was the reason I was asking about thread group leader exiting before other threads. I am sorry to ask again, but let me ask again. How would we get !group_leader from p->{real_parent->}sibling or from for_each_process? > Oh. I think mm_update_next_owner() needs some cleanups. Perhaps I'll send > the patch today. Please hold on, I have a patch to get rid of the owner altogether. I will post it sometimes next week. Let's see whether this is a viable option. If not then we can clean this up. 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>