Skip to content

Commit

Permalink
[PATCH] oom: less memdie
Browse files Browse the repository at this point in the history
Don't cause all threads in all other thread groups to gain TIF_MEMDIE
otherwise we'll get a thundering herd eating our memory reserve.  This may not
be the optimal scheme, but it fits our policy of allowing just one TIF_MEMDIE
in the system at once.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Nick Piggin authored and Linus Torvalds committed Dec 7, 2006
1 parent f3af38d commit f2a2a71
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions mm/oom_kill.c
Original file line number Diff line number Diff line change
Expand Up @@ -323,11 +323,12 @@ static int oom_kill_task(struct task_struct *p)

/*
* kill all processes that share the ->mm (i.e. all threads),
* but are in a different thread group.
* but are in a different thread group. Don't let them have access
* to memory reserves though, otherwise we might deplete all memory.
*/
do_each_thread(g, q) {
if (q->mm == mm && q->tgid != p->tgid)
__oom_kill_task(q, 1);
force_sig(SIGKILL, p);
} while_each_thread(g, q);

return 0;
Expand Down

0 comments on commit f2a2a71

Please sign in to comment.