On Thursday 22 January 2009 14:13:38 David Rientjes wrote: > On Thu, 22 Jan 2009, Nikanth Karthikesan wrote: > > No, this is not specific to memcg or cpuset cases alone. The same > > needless kills will take place even without memcg or cpuset when an > > administrator specifies a light memory consumer to be killed before a > > heavy memory user. But it is up to the administrator to use it wisely. > > You can't specify different behavior for an oom cgroup depending on what > type of oom it is, which is the problem with this proposal. > No. This does not disable any such special selection criteria which is used without this controller. > 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. > > 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. > > I can specify a higher oom priority for a cpuset because its jobs are less > critical and I would prefer it gets killed in a system-wide oom, but any > other cpuset that ooms will needlessly kill these tasks when there is no > benefit. > This patch just chooses the task with highest oom.victim among those tasks which would have been chosen without this controller. So all the "kill within memcg/cpuset" should work as always! It should just kill a task within the memcg with highest oom.victim. Thanks Nikanth _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers