Re: [patch -mm] mm, oom: add global access to memory reserves on livelock

From: David Rientjes
Date: Mon Aug 24 2015 - 17:10:18 EST


On Fri, 21 Aug 2015, Tetsuo Handa wrote:

> Why can't we think about choosing more OOM victims instead of granting access
> to memory reserves?
>

We have no indication of which thread is holding a mutex that would need
to be killed, so we'd be randomly killing processes waiting for forward
progress. A worst-case scenario would be the thread is OOM_DISABLE and we
kill every process on the system needlessly. This problem obviously
occurs often enough that killing all userspace isnt going to be a viable
solution.

> Also, SysRq might not be usable under OOM because workqueues can get stuck.
> The panic_on_oom_timeout was first proposed using a workqueue but was
> updated to use a timer because there is no guarantee that workqueues work
> as expected under OOM.
>

I don't know anything about a panic_on_oom_timeout, but panicking would
only be a reasonable action if memory reserves were fully depleted. That
could easily be dealt with in the page allocator so there's no timeout
involved.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/