On Sun 22-04-18 12:48:13, Tetsuo Handa wrote: > David Rientjes wrote: > > How have you tested this? > > > > I'm wondering why you do not see oom killing of many processes if the > > victim is a very large process that takes a long time to free memory in > > exit_mmap() as I do because the oom reaper gives up trying to acquire > > mm->mmap_sem and just sets MMF_OOM_SKIP itself. > > > > We can call __oom_reap_task_mm() from exit_mmap() (or __mmput()) before > exit_mmap() holds mmap_sem for write. Then, at least memory which could > have been reclaimed if exit_mmap() did not hold mmap_sem for write will > be guaranteed to be reclaimed before MMF_OOM_SKIP is set. That might be an alternative way but I am really wondering whether this is the simplest way forward. -- Michal Hocko SUSE Labs