KAMEZAWA Hiroyuki
0b7f569e45
memcg: fix OOM killer under memcg
...
This patch tries to fix OOM Killer problems caused by hierarchy.
Now, memcg itself has OOM KILL function (in oom_kill.c) and tries to
kill a task in memcg.
But, when hierarchy is used, it's broken and correct task cannot
be killed. For example, in following cgroup
/groupA/ hierarchy=1, limit=1G,
01 nolimit
02 nolimit
All tasks' memory usage under /groupA, /groupA/01, groupA/02 is limited to
groupA's 1Gbytes but OOM Killer just kills tasks in groupA.
This patch provides makes the bad process be selected from all tasks
under hierarchy. BTW, currently, oom_jiffies is updated against groupA
in above case. oom_jiffies of tree should be updated.
To see how oom_jiffies is used, please check mem_cgroup_oom_called()
callers.
[akpm@linux-foundation.org: build fix]
[akpm@linux-foundation.org: const fix]
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Paul Menage <menage@google.com>
Cc: Li Zefan <lizf@cn.fujitsu.com>
Cc: Balbir Singh <balbir@in.ibm.com>
Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-04-02 19:04:55 -07:00
..
2009-04-01 10:57:49 -07:00
2009-01-15 16:39:37 -08:00
2008-11-07 21:45:29 -05:00
2009-03-26 22:44:43 +00:00
2008-10-30 11:38:45 -07:00
2009-01-07 23:14:38 +08:00
2009-03-26 11:01:28 +01:00
2008-11-14 17:28:53 +00:00
2008-10-10 08:22:44 +02:00
2009-04-02 19:04:55 -07:00
2009-02-12 16:47:01 -08:00
2009-02-24 22:47:31 -05:00
2008-10-16 11:21:30 -07:00
2009-01-05 18:10:19 -07:00
2009-01-08 16:32:13 -07:00
2008-04-25 13:27:03 +01:00
2009-04-02 19:04:53 -07:00
2009-02-22 09:27:15 -08:00
2009-03-30 12:43:31 -03:00
2008-04-21 22:19:05 +00:00
2009-04-01 08:59:33 -07:00
2009-04-02 19:04:53 -07:00
2008-04-21 22:23:30 +00:00
2009-04-01 08:59:21 -07:00
2009-03-30 21:46:43 +02:00
2008-10-30 11:38:45 -07:00
2009-01-06 17:21:00 +01:00
2008-12-20 04:54:54 -05:00
2009-03-30 12:43:15 -03:00
2008-10-30 11:38:47 -07:00
2009-01-28 15:55:48 -08:00
2009-01-14 21:42:51 +01:00
2008-10-22 15:01:22 +11:00
2009-01-15 13:48:24 -05:00
2009-03-30 21:55:26 +10:30
2009-01-14 19:19:03 +01:00
2009-04-01 08:59:18 -07:00
2008-08-16 10:55:33 +01:00
2009-03-18 18:22:48 -07:00
2009-03-20 11:35:04 -07:00
2008-10-30 11:38:45 -07:00
2008-10-16 11:21:29 -07:00
2009-04-01 08:59:23 -07:00
2009-03-10 15:55:11 -07:00
2009-01-06 15:59:28 -08:00
2009-03-02 12:02:52 +01:00
2009-03-12 12:58:09 -05:00
2008-11-14 17:28:53 +00:00
2008-12-22 18:44:05 +09:00
2009-03-24 00:36:17 +01:00
2008-08-29 02:15:25 -07:00
2009-01-07 16:37:34 +01:00
2009-04-02 19:04:53 -07:00
2008-07-22 19:24:29 +10:00
2008-04-29 02:49:47 -04:00
2008-07-31 18:45:41 +02:00
2009-02-15 20:05:13 +01:00
2009-03-24 16:20:36 -07:00
2009-03-30 12:43:41 -03:00
2009-01-06 15:59:03 -08:00
2009-01-08 08:31:14 -08:00
2008-10-30 11:38:45 -07:00
2009-01-07 10:00:18 -08:00
2009-03-05 21:49:44 +01:00
2008-11-15 11:51:03 -08:00
2008-12-03 16:09:53 -07:00
2008-04-30 08:29:52 -07:00
2008-07-25 10:53:30 -07:00
2008-11-12 17:17:18 -08:00
2009-01-29 18:19:30 -08:00
2009-01-29 18:19:29 -08:00
2008-12-18 12:08:05 +01:00
2009-01-11 19:12:49 +01:00
2008-11-14 10:39:26 +11:00
2009-01-06 11:28:07 +01:00
2009-03-12 12:58:05 -05:00
2009-03-17 12:56:47 +01:00
2008-07-22 10:39:36 +10:00
2009-01-06 15:59:28 -08:00
2009-01-05 18:10:19 -07:00
2009-03-26 15:45:43 -07:00
2009-03-24 16:38:27 -07:00
2008-07-26 12:00:06 -07:00
2008-11-06 15:41:19 -08:00
2009-04-02 19:04:51 -07:00
2008-11-28 13:15:14 +01:00
2009-04-02 19:04:51 -07:00
2008-04-21 15:10:15 -07:00
2008-10-16 11:21:32 -07:00
2008-11-12 17:17:18 -08:00
2008-07-26 12:00:06 -07:00
2008-11-03 18:21:44 +01:00
2009-01-29 18:19:29 -08:00
2008-07-26 12:00:06 -07:00
2008-06-05 15:18:30 +02:00
2009-02-11 14:25:36 -08:00
2008-06-06 11:29:10 -07:00
2009-04-01 09:47:12 -07:00
2008-04-29 08:06:16 -07:00
2008-07-26 12:00:06 -07:00
2009-01-06 10:44:32 -08:00
2009-01-06 15:59:21 -08:00
2008-07-26 12:00:06 -07:00
2008-12-01 13:51:26 +01:00
2009-02-14 23:28:22 +01:00
2008-10-20 15:43:10 +02:00
2009-03-16 07:55:37 -07:00
2009-03-16 07:55:37 -07:00
2009-01-06 15:59:28 -08:00
2008-08-12 16:07:30 -07:00
2008-10-30 11:38:46 -07:00
2008-11-28 16:47:41 +01:00
2008-07-21 14:22:18 +10:00
2008-05-14 10:05:18 -07:00
2009-01-06 15:59:00 -08:00
2008-10-30 19:07:04 +01:00
2009-01-08 12:04:47 +00:00
2008-04-29 08:05:59 -07:00
2008-11-12 17:17:17 -08:00
2008-10-31 19:00:09 -04:00
2008-10-16 11:21:32 -07:00
2008-08-27 08:54:08 +10:00
2009-03-28 15:01:37 +11:00
2008-07-25 22:12:39 +02:00
2008-10-29 15:03:49 -07:00
2008-10-16 11:21:32 -07:00
2008-10-16 11:21:32 -07:00
2008-10-16 12:18:16 -07:00
2008-07-21 21:54:59 -07:00
2009-04-01 08:59:17 -07:00
2008-11-29 15:13:42 +01:00
2008-07-25 10:53:27 -07:00
2008-07-26 12:00:06 -07:00