On Mon, 10 May 2010 09:01:31 +0900, KAMEZAWA Hiroyuki 
<[email protected]> wrote:
> On Fri, 7 May 2010 14:30:21 -0700
> Jeremy Hanmer <[email protected]> wrote:
> 
> > I've found a reproducible case where you can create an infinite loop inside 
> > the oom killer if you create a cgroup with a single process that has 
> > oom_adj=-17 and trigger an OOM situation inside that cgroup.
> > 
> > It seems that oom_adj should probably be ignored in the case where it makes 
> > the OOM situation unsolvable.  Here's an excerpt from the console output 
> > when the bug is triggered:
> > 
> > Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a 
> > child
> > Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a 
> > child
> > Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a 
> > child
> > Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a 
> > child
> > Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a 
> > child
> > Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a 
> > child
> > Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a 
> > child
> > Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a 
> > child
> > Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a 
> > child
> > Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a 
> > child
> > Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a 
> > child
> > Memory cgroup out of memory: kill process 25306 (memeater) score 0 or a 
> > child
> > 
> 
> Now, In -mm tree, 2 options are supproted and it's under test.
> 
>   1. oom_notifier ... an event notifier which notifies OOM.
> 
>   2. oom_disable  ... disable OOM-Killer. All threads will wait for the end of
>      OOM. No cpu consumption.
> 
> By 1+2, an user(user-land deamon) can implement its own OOM handler.
> Please wait it.
> 
And, you also need 
memcg-make-oom-killer-a-no-op-when-no-killable-task-can-be-found.patch.
IIUC, we will be stuck at the infinite loop inside mem_cgroup_out_of_memory() 
otherwise.

Thanks,
Daisuke Nishimura.
_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to