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

David Rientjes
2009-01-22T10:21:20Z

On Thu, 22 Jan 2009, Nikanth Karthikesan wrote:

> I think cpusets preference could be improved, not to depend on badness, with
> something similar to what memcg does. With or without adding overhead of
> tracking processes that has memory from a node.
>

We actually used to do that: we excluded all tasks that did not share the
same cpuset in select_bad_process(). That exclusion was reimplemented as
a preference in badness() since, again, it is quite possible that a large
memory-hogging task without a sufficient oom_adj score, as you mentioned,
has allocated memory on the cpuset's nodes before being moved to a
different cpuset or changing its set of allowable nodes.

I think you would find the per-cgroup oom notifier patch[*] of interest.
It seems to have been dropped after some discussion on improvements, but
allows you to defer all of these decisions to userspace. Would something
like that fix your problem?

[*] http://marc.info/?l=linux-mm&m=122575082227252