Re: [RFC] [PATCH] Cgroup based OOM killer controller

Nikanth Karthikesan
2009-01-27T11:40:31Z

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