[lkml]   [2011]   [Aug]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] oom: skip frozen tasks
On Friday, August 26, 2011, David Rientjes wrote:
> On Fri, 26 Aug 2011, Michal Hocko wrote:
> > 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.
> 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 and
> that's why we have oom_killer_disable(), but we'll have to check with
> Rafael to see if something like this could work. Rafael?

That depends a good deal on when the thawing happens and what the thawed
task can do before being killed. For example, if the thawing happens
while devices are suspended and the thawed task accesses a driver through
ioctl(), for example, the purpose of freezing will be defeated.


 \ /
  Last update: 2011-08-26 23:03    [W:0.090 / U:0.804 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site