On Wed, 31 Mar 2010, Balbir Singh wrote: > > It's pointless to try to kill current if select_bad_process() did not > > find an eligible task to kill in mem_cgroup_out_of_memory() since it's > > guaranteed that current is a member of the memcg that is oom and it is, > > by definition, unkillable. > > > > Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> > > --- > > mm/oom_kill.c | 5 +---- > > 1 files changed, 1 insertions(+), 4 deletions(-) > > > > diff --git a/mm/oom_kill.c b/mm/oom_kill.c > > --- a/mm/oom_kill.c > > +++ b/mm/oom_kill.c > > @@ -500,12 +500,9 @@ void mem_cgroup_out_of_memory(struct mem_cgroup *mem, gfp_t gfp_mask) > > read_lock(&tasklist_lock); > > retry: > > p = select_bad_process(&points, limit, mem, CONSTRAINT_NONE, NULL); > > - if (PTR_ERR(p) == -1UL) > > + if (!p || PTR_ERR(p) == -1UL) > > goto out; > > Should we have a bit fat WAR_ON_ONCE() here? > I'm not sure a WARN_ON_ONCE() is going to be too helpful to a sysadmin who has misconfigured the memcg here since all it will do is emit the stack trace and line number, it's not going to be immediately obvious that this is because all tasks in the cgroup are unkillable so he or she should do echo 1 > /dev/cgroup/blah/memory.oom_control as a remedy. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>