Commit 74768ed833344bb0f82b97cee46320a3d7f09ecd

Authored by Jan Beulich
Committed by Linus Torvalds
1 parent 866c36637f

page allocator: use no-panic variant of alloc_bootmem() in alloc_large_system_hash()

..  since a failed allocation is being (initially) handled gracefully, and
panic()-ed upon failure explicitly in the function if retries with smaller
sizes failed.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Showing 2 changed files with 5 additions and 1 deletions Side-by-side Diff

include/linux/bootmem.h
... ... @@ -97,10 +97,14 @@
97 97 #ifndef CONFIG_HAVE_ARCH_BOOTMEM_NODE
98 98 #define alloc_bootmem(x) \
99 99 __alloc_bootmem(x, SMP_CACHE_BYTES, __pa(MAX_DMA_ADDRESS))
  100 +#define alloc_bootmem_nopanic(x) \
  101 + __alloc_bootmem_nopanic(x, SMP_CACHE_BYTES, __pa(MAX_DMA_ADDRESS))
100 102 #define alloc_bootmem_low(x) \
101 103 __alloc_bootmem_low(x, SMP_CACHE_BYTES, 0)
102 104 #define alloc_bootmem_pages(x) \
103 105 __alloc_bootmem(x, PAGE_SIZE, __pa(MAX_DMA_ADDRESS))
  106 +#define alloc_bootmem_pages_nopanic(x) \
  107 + __alloc_bootmem_nopanic(x, PAGE_SIZE, __pa(MAX_DMA_ADDRESS))
104 108 #define alloc_bootmem_low_pages(x) \
105 109 __alloc_bootmem_low(x, PAGE_SIZE, 0)
106 110 #define alloc_bootmem_node(pgdat, x) \
... ... @@ -4437,7 +4437,7 @@
4437 4437 do {
4438 4438 size = bucketsize << log2qty;
4439 4439 if (flags & HASH_EARLY)
4440   - table = alloc_bootmem(size);
  4440 + table = alloc_bootmem_nopanic(size);
4441 4441 else if (hashdist)
4442 4442 table = __vmalloc(size, GFP_ATOMIC, PAGE_KERNEL);
4443 4443 else {