aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>2010-05-26 17:42:36 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-05-27 12:12:43 -0400
commit9490ff275606da012d5b373342a49610ad61cb81 (patch)
tree037993e807654da633776066129b001f8bae7d1d /Documentation
parentdc98df5a1b7be402a0e1c71f1b89ccf249ac15ee (diff)
memcg: oom notifier
Considering containers or other resource management softwares in userland, event notification of OOM in memcg should be implemented. Now, memcg has "threshold" notifier which uses eventfd, we can make use of it for oom notification. This patch adds oom notification eventfd callback for memcg. The usage is very similar to threshold notifier, but control file is memory.oom_control and no arguments other than eventfd is required. % cgroup_event_notifier /cgroup/A/memory.oom_control dummy (About cgroup_event_notifier, see Documentation/cgroup/) Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> Cc: Balbir Singh <balbir@in.ibm.com> Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> Cc: David Rientjes <rientjes@google.com> Cc: Davide Libenzi <davidel@xmailserver.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/cgroups/memory.txt20
1 files changed, 19 insertions, 1 deletions
diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt
index 6cab1f29da4c..eac22d3b2f7b 100644
--- a/Documentation/cgroups/memory.txt
+++ b/Documentation/cgroups/memory.txt
@@ -184,6 +184,9 @@ limits on the root cgroup.
184 184
185Note2: When panic_on_oom is set to "2", the whole system will panic. 185Note2: When panic_on_oom is set to "2", the whole system will panic.
186 186
187When oom event notifier is registered, event will be delivered.
188(See oom_control section)
189
1872. Locking 1902. Locking
188 191
189The memory controller uses the following hierarchy 192The memory controller uses the following hierarchy
@@ -488,7 +491,22 @@ threshold in any direction.
488 491
489It's applicable for root and non-root cgroup. 492It's applicable for root and non-root cgroup.
490 493
49110. TODO 49410. OOM Control
495
496Memory controler implements oom notifier using cgroup notification
497API (See cgroups.txt). It allows to register multiple oom notification
498delivery and gets notification when oom happens.
499
500To register a notifier, application need:
501 - create an eventfd using eventfd(2)
502 - open memory.oom_control file
503 - write string like "<event_fd> <memory.oom_control>" to cgroup.event_control
504
505Application will be notifier through eventfd when oom happens.
506OOM notification doesn't work for root cgroup.
507
508
50911. TODO
492 510
4931. Add support for accounting huge pages (as a separate controller) 5111. Add support for accounting huge pages (as a separate controller)
4942. Make per-cgroup scanner reclaim not-shared pages first 5122. Make per-cgroup scanner reclaim not-shared pages first