aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorWill Schmidt <will_schmidt@vnet.ibm.com>2007-07-21 11:11:17 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-21 21:37:12 -0400
commit021daae2c265a844fd27bb6cc49c2bd114571069 (patch)
treeaa97071978b3660b47792073d4342648021cf115 /arch
parent99253b8e734a7a773c0e4bedd7d8d1847c98c538 (diff)
x86_64: During VM oom condition, kill all threads in process group
During a VM oom condition, kill all threads in the process group. We have had complaints where a threaded application is left in a bad state after one of it's threads is killed when we hit a VM: out_of_memory condition. Killing just one of the process threads can leave the application in a bad state, whereas killing the entire process group would allow for the application to restart, or otherwise handled, and makes it very obvious that something has gone wrong. This change allows the entire process group to be taken down, rather than just the one thread. Signed-off-by: Will <will_schmidt@vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86_64/mm/fault.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86_64/mm/fault.c b/arch/x86_64/mm/fault.c
index 99a801811671..2074bddd4f04 100644
--- a/arch/x86_64/mm/fault.c
+++ b/arch/x86_64/mm/fault.c
@@ -568,7 +568,7 @@ out_of_memory:
568 } 568 }
569 printk("VM: killing process %s\n", tsk->comm); 569 printk("VM: killing process %s\n", tsk->comm);
570 if (error_code & 4) 570 if (error_code & 4)
571 do_exit(SIGKILL); 571 do_group_exit(SIGKILL);
572 goto no_context; 572 goto no_context;
573 573
574do_sigbus: 574do_sigbus: