linux/arch
Johannes Weiner 8e2cdbcb86 x86-64: fall back to regular page vmemmap on allocation failure
Memory hotplug can happen on a machine under load, memory shortness
and fragmentation, so huge page allocations for the vmemmap are not
guaranteed to succeed.

Try to fall back to regular pages before failing the hotplug event
completely.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Ben Hutchings <ben@decadent.org.uk>
Cc: Bernhard Schmidt <Bernhard.Schmidt@lrz.de>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-04-29 15:54:35 -07:00
..
alpha mm/alpha: use common help functions to free reserved pages 2013-04-29 15:54:29 -07:00
arc mm/arc: use common help functions to free reserved pages 2013-04-29 15:54:31 -07:00
arm arm: set the page table freeing ceiling to TASK_SIZE 2013-04-29 15:54:34 -07:00
arm64 sparse-vmemmap: specify vmemmap population range in bytes 2013-04-29 15:54:35 -07:00
avr32 mm/avr32: use common help functions to free reserved pages 2013-04-29 15:54:29 -07:00
blackfin mm/blackfin: use common help functions to free reserved pages 2013-04-29 15:54:29 -07:00
c6x mm/c6x: use common help functions to free reserved pages 2013-04-29 15:54:29 -07:00
cris mm/cris: use common help functions to free reserved pages 2013-04-29 15:54:29 -07:00
frv mm/FRV: use free_highmem_page() to free highmem pages into buddy system 2013-04-29 15:54:32 -07:00
h8300 mm/h8300: use common help functions to free reserved pages 2013-04-29 15:54:29 -07:00
hexagon Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-02-26 20:16:07 -08:00
ia64 sparse-vmemmap: specify vmemmap population range in bytes 2013-04-29 15:54:35 -07:00
m32r mm/m32r: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
m68k mm/m68k: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
metag mm/metag: use free_highmem_page() to free highmem pages into buddy system 2013-04-29 15:54:32 -07:00
microblaze mm/microblaze: use free_highmem_page() to free highmem pages into buddy system 2013-04-29 15:54:32 -07:00
mips mm/hugetlb: add more arch-defined huge_pte functions 2013-04-29 15:54:33 -07:00
mn10300 mm/mn10300: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
openrisc mm/openrisc: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
parisc mm/parisc: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
powerpc sparse-vmemmap: specify vmemmap population range in bytes 2013-04-29 15:54:35 -07:00
s390 sparse-vmemmap: specify vmemmap population range in bytes 2013-04-29 15:54:35 -07:00
score mm/score: use common help functions to free reserved pages 2013-04-29 15:54:31 -07:00
sh mm/hugetlb: add more arch-defined huge_pte functions 2013-04-29 15:54:33 -07:00
sparc sparse-vmemmap: specify vmemmap population range in bytes 2013-04-29 15:54:35 -07:00
tile mm, vmalloc: change iterating a vmlist to find_vm_area() 2013-04-29 15:54:33 -07:00
um mm/um: use free_highmem_page() to free highmem pages into buddy system 2013-04-29 15:54:32 -07:00
unicore32 mm, vmalloc: change iterating a vmlist to find_vm_area() 2013-04-29 15:54:33 -07:00
x86 x86-64: fall back to regular page vmemmap on allocation failure 2013-04-29 15:54:35 -07:00
xtensa mm/xtensa: use common help functions to free reserved pages 2013-04-29 15:54:31 -07:00
.gitignore
Kconfig Select VIRT_TO_BUS directly where needed 2013-03-12 11:16:40 -07:00