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

From: KAMEZAWA Hiroyuki
Date: Mon Sep 26 2011 - 05:32:07 EST


On Mon, 26 Sep 2011 02:02:59 -0700 (PDT)
David Rientjes <rientjes@xxxxxxxxxx> wrote:

> 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.
>

I agree with David.
Why don't you set oom_score_adj as -1000 for processes which never should die ?
You don't freeze processes via user-land using cgroup ?

Thanks,
-Kame



--
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/