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

_______________________________________________
Containers mailing list
contain...@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
Devel@openvz.org
https://openvz.org/mailman/listinfo/devel

Reply via email to