[POWERPC] During VM oom condition, kill all threads in process group
authorwill schmidt <will_schmidt@vnet.ibm.com>
Tue, 12 Jun 2007 15:19:01 +0000 (01:19 +1000)
committerPaul Mackerras <paulus@samba.org>
Thu, 14 Jun 2007 12:29:59 +0000 (22:29 +1000)
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 be 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.

lightly tested on powerpc

Signed-off-by: Will <will_schmidt@vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/mm/fault.c

index bfe901353142f9d835eafa01cbf37b58868d0e10..fd176840a595c9ddc7899edf9bfe5c1262fd5fb7 100644 (file)
@@ -381,7 +381,7 @@ out_of_memory:
        }
        printk("VM: killing process %s\n", current->comm);
        if (user_mode(regs))
-               do_exit(SIGKILL);
+               do_group_exit(SIGKILL);
        return SIGKILL;
 
 do_sigbus: