Re: [patch v2] mm, oom: fix concurrent munlock and oom reaperunmap

From: Michal Hocko
Date: Sun Apr 22 2018 - 09:08:49 EST


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