linux-xiaomi-chiron/include
Christoph Lameter 9b0f8b040a [PATCH] Terminate process that fails on a constrained allocation
Some allocations are restricted to a limited set of nodes (due to memory
policies or cpuset constraints).  If the page allocator is not able to find
enough memory then that does not mean that overall system memory is low.

In particular going postal and more or less randomly shooting at processes
is not likely going to help the situation but may just lead to suicide (the
whole system coming down).

It is better to signal to the process that no memory exists given the
constraints that the process (or the configuration of the process) has
placed on the allocation behavior.  The process may be killed but then the
sysadmin or developer can investigate the situation.  The solution is
similar to what we do when running out of hugepages.

This patch adds a check before we kill processes.  At that point
performance considerations do not matter much so we just scan the zonelist
and reconstruct a list of nodes.  If the list of nodes does not contain all
online nodes then this is a constrained allocation and we should kill the
current process.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-20 20:00:09 -08:00
..
acpi
asm-alpha [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
asm-arm Merge master.kernel.org:/home/rmk/linux-2.6-arm 2006-02-17 08:13:11 -08:00
asm-arm26 [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
asm-cris [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
asm-frv [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
asm-generic [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
asm-h8300 [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
asm-i386 [PATCH] i386: fix singlestepping though a syscall 2006-02-17 08:55:21 -08:00
asm-ia64 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2006-02-17 08:16:35 -08:00
asm-m32r [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
asm-m68k [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
asm-m68knommu
asm-mips [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
asm-parisc [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
asm-powerpc [PATCH] powerpc: Fix accidentally-working typo in __pud_free_tlb 2006-02-17 13:59:27 -08:00
asm-ppc
asm-s390 [PATCH] s390: additional_cpus parameter 2006-02-17 13:59:26 -08:00
asm-sh [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
asm-sh64
asm-sparc [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
asm-sparc64 [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
asm-um
asm-v850 [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
asm-x86_64 [PATCH] x86_64: Disable tsc when apicpmtimer is active 2006-02-17 08:00:40 -08:00
asm-xtensa [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
keys
linux [PATCH] Terminate process that fails on a constrained allocation 2006-02-20 20:00:09 -08:00
math-emu
media
mtd
net [XFRM]: Fix SNAT-related crash in xfrm4_output_finish 2006-02-15 15:10:22 -08:00
pcmcia
rdma
rxrpc
scsi
sound
video [PATCH] neofb: avoid resetting display config on unblank (v2) 2006-02-15 15:32:21 -08:00