Re: [PATCH 2/2] oom: give bonus to frozen processes
From: KAMEZAWA Hiroyuki <hidden>
Date: 2011-09-26 09:32:05
Also in:
lkml
On Mon, 26 Sep 2011 02:02:59 -0700 (PDT) David Rientjes [off-list ref] wrote:
On Mon, 26 Sep 2011, Michal Hocko wrote:quoted
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, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>