Re: [PATCH 2/2] oom: give bonus to frozen processes

From: David Rientjes
Date: Mon Sep 26 2011 - 05:03:12 EST


On Mon, 26 Sep 2011, Michal Hocko wrote:

> Let's try it with a heuristic change first. If you really do not like
> it, we can move to oom_scode_adj. I like the heuristic change little bit
> more because it is at the same place as the root bonus.

The problem with the bonus is that, as mentioned previously, it doesn't
protect against ANYTHING for the case you're trying to fix. This won't
panic the machine because all killable threads are guaranteed to have a
non-zero badness score, but it's a very valid configuration to have either

- all eligible threads (system-wide, shared cpuset, shared mempolicy
nodes) are frozen, or

- all eligible frozen threads use <5% of memory whereas all other
eligible killable threads use 1% of available memory.

and that means the oom killer will repeatedly select those threads and the
livelock still exists unless you can guarantee that they are successfully
thawed, that thawing them in all situations is safe, and that once thawed
they will make a timely exit.

Additionally, I don't think biasing against frozen tasks makes sense from
a heusritic standpoint of the oom killer. Why would we want give
non-frozen tasks that are actually getting work done a preference over a
task that is frozen and doing absolutely nothing? It seems like that's
backwards and that we'd actually prefer killing the task doing nothing so
it can free its memory.
--
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/