projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
dc10e28
)
memcg: make oom killer a no-op when no killable task can be found
author
David Rientjes
<
[email protected]
>
Wed, 26 May 2010 21:42:41 +0000
(14:42 -0700)
committer
Linus Torvalds
<
[email protected]
>
Thu, 27 May 2010 16:12:43 +0000
(09:12 -0700)
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 <
[email protected]
>
Acked-by: KAMEZAWA Hiroyuki <
[email protected]
>
Cc: Balbir Singh <
[email protected]
>
Cc: Li Zefan <
[email protected]
>
Cc: Daisuke Nishimura <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
mm/oom_kill.c
patch
|
blob
|
history
diff --git
a/mm/oom_kill.c
b/mm/oom_kill.c
index b68e802a7a7d6961a0c1f7709a9cc606d022371c..709aedfaa014946664f2b83857b749d92f79752f 100644
(file)
--- a/
mm/oom_kill.c
+++ b/
mm/oom_kill.c
@@
-479,12
+479,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, mem);
- if (PTR_ERR(p) == -1UL)
+ if (
!p ||
PTR_ERR(p) == -1UL)
goto out;
- if (!p)
- p = current;
-
if (oom_kill_process(p, gfp_mask, 0, points, mem,
"Memory cgroup out of memory"))
goto retry;