Skip to contentSkip to conversation

i386: During VM oom condition, kill all threads in process group

PATCH New Andi Kleen 1 participant 1 message Jul 18, 2007 Generic include/asm header files

lore
Share & tools
lore

Andi Kleen

author
#0 lore raw

PATCH 75/134 i386: During VM oom condition, kill all threads in process group

FYI

You might want to check if your architecture needs this change too.

-Andi

From: Will Schmidt <[email protected]>

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.

tested lightly on i386.

---

 arch/i386/mm/fault.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)
arch/i386/mm/fault.c renamed from arch/i386/mm/fault.c~i386-during-vm-oom-condition +1 -1
diff -puN arch/i386/mm/fault.c~i386-during-vm-oom-condition arch/i386/mm/fault.c
@@ -598,7 +598,7 @@ out_of_memory:
 	}
 	printk("VM: killing process %s\n", tsk->comm);
 	if (error_code & 4)
-		do_exit(SIGKILL);
+		do_group_exit(SIGKILL);
 	goto no_context;
 
 do_sigbus:

_