On Thu 26-05-16 20:47:47, Tetsuo Handa wrote: > Continued from http://lkml.kernel.org/r/201605252330.IAC82384.OOSQHVtFFFLOMJ@xxxxxxxxxxxxxxxxxxx : > > > I do not think we want to wait inside the oom_lock as it is a global > > > lock shared by all OOM killer contexts. Another option would be to use > > > the oom_lock inside __oom_reap_task. It is not super cool either because > > > now we have a dependency on the lock but looks like reasonably easy > > > solution. > > > > It would be nice if we can wait until memory reclaimed from the OOM victim's > > mm is queued to freelist for allocation. But I don't have idea other than > > oomkiller_holdoff_timer. > > > > I think this problem should be discussed another day in a new thread. > > > > Can we use per "struct signal_struct" oom_victims instead of global oom_lock? The problem with signal_struct is that we will not help if the task gets unhashed from the task list which usually happens quite early after exit_mm. The oom_lock will keep other OOM killer activity away until we reap the address space and free up the memory so it would cover that case. So I think the oom_lock is a more robust solution. I plan to post the patch with the full changelog soon I just wanted to finish the other pile before. -- 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>