Re: [PATCH] oom: skip frozen tasks
From: Michal Hocko <hidden>
Date: 2011-08-26 11:01:56
Also in:
lkml
On Fri 26-08-11 11:53:56, Michal Hocko wrote:
On Fri 26-08-11 02:21:42, David Rientjes wrote:quoted
On Fri, 26 Aug 2011, Michal Hocko wrote:quoted
Let's give all frozen tasks a bonus (OOM_SCORE_ADJ_MAX/2) so that we do not consider them unless really necessary and if we really pick up one then thaw its threads before we try to kill it.I don't like arbitrary heuristics like this because they polluted the old oom killer before it was rewritten and made it much more unpredictable. The only heuristic it includes right now is a bonus for root tasks so that when two processes have nearly the same amount of memory usage (within 3% of available memory), the non-root task is chosen instead. This bonus is actually saying that a single frozen task can use up to 50% more of the machine's capacity in a system-wide oom condition than the task that will now be killed instead. That seems excessive.Yes, the number is probably too high. I just wanted to start up with something. Maybe we can give it another root bonus. But I agree whatever we use it will be just a random value...quoted
I do like the idea of automatically thawing the task though and if that's possible then I don't think we need to manipulate the badness heuristic at all. I know that wouldn't be feasible when we've frozen _all_ threads andWhy it wouldn't be feasible for all threads? If you have all tasks frozen (suspend going on, whole cgroup or all tasks in a cpuset/nodemask are frozen) then the selection is more natural because all of them are equal (with or without a bonus). The bonus tries to reduce thawing if not all of them are frozen. I am not saying the bonus is necessary, though. It depends on what the freezer is used for (e.g. freeze a process which went wild and debug what went wrong wouldn't welcome that somebody killed it or other (mis)use which relies on D state).
Anyway, I do agree, the two things (bonus and thaw during oom_kill) should be handled separately. -- Michal Hocko SUSE Labs SUSE LINUX s.r.o. Lihovarska 1060/12 190 00 Praha 9 Czech Republic -- 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>