[RFC] [PATCH] Cgroup based OOM killer controller

Nikanth Karthikesan knikanth at suse.de
Tue Jan 27 03:37:47 PST 2009


On Tuesday 27 January 2009 16:51:26 David Rientjes wrote:
> On Tue, 27 Jan 2009, Nikanth Karthikesan wrote:
> > > I don't understand what you're arguing for here.  Are you suggesting
> > > that we should not prefer tasks that intersect the set of allowable
> > > nodes? That makes no sense if the goal is to allow for future memory
> > > freeing.
> >
> > No. Actually I am just wondering, will it be possible to check whether a
> > particular task has memory allocated or mmaped from this node to avoid
> > killing an innocent task.
>
> That's certainly idealistic, but cannot be done in an inexpensive way that
> would scale with the large systems that clients of cpusets typically use.

If we kill only the tasks for which cpuset_mems_allowed_intersects() is true 
on the first pass and even then if we do not get out of oom, we could go over 
again with this expensive check. Using this scheme, could kill more no of 
tasks than required, if a task with lots of memory has moved to a different 
cpuset. But it should be rare and not that severe compared to killing a 
totally innocent task like the current scheme does?!

Thanks
Nikanth


More information about the Containers mailing list