[RFC] [PATCH] Cgroup based OOM killer controller

David Rientjes rientjes at google.com
Thu Jan 22 02:00:55 PST 2009


On Thu, 22 Jan 2009, Evgeniy Polyakov wrote:

> > For example, if your task triggers an oom as the result of its exclusive 
> > cpuset placement, the oom killer should prefer to kill a task within that 
> > cpuset to allow for future memory freeing.
> 
> This it not true for all cases. What if you do need to start this task
> and free something else outside the given set? This should be an
> administrative decision and not forced by the kernel. We used to have it
> that way, but it does not mean that it is the only correct way to do the
> things.
> 

In an exclusive cpuset, a task's memory is restricted to a set of mems 
that the administrator has designated.  If it is oom, the kernel must free 
memory on those nodes or the next allocation will again trigger an oom 
(leading to a needlessly killed task that was in a disjoint cpuset).

Really.

> > So, with your proposal, an administrator can specify the oom priority of 
> > an entire aggregate of tasks but the behavior may not be desired for a 
> > cpuset-constrained oom, while it may be perfectly legitimate for a global 
> > unconstrained oom.
> 
> In this case administrator will not do this. It is up to him to decide
> and not some inner kernel policy.
> 

Then the scope of this new cgroup is restricted to not being used with 
cpusets that could oom.


More information about the Containers mailing list