aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2008-07-24 00:27:45 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-24 13:47:17 -0400
commitb54bbf7b81170f03597c17dd0b559e3006bc9868 (patch)
treeabc6b326e293d3a685d943956d32ab4038a90e1f /mm
parent5ced66c901f1cf0b684feb15c2cd8b126e263d07 (diff)
mm: introduce non panic alloc_bootmem
Straight forward variant of the existing __alloc_bootmem_node, only subsequent patch when allocating giant hugepages at boot -- don't want to panic if we can't allocate as many as the user asked for. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/bootmem.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/mm/bootmem.c b/mm/bootmem.c
index 4bc6ae2fbaa3..9ac972535fff 100644
--- a/mm/bootmem.c
+++ b/mm/bootmem.c
@@ -578,6 +578,18 @@ void * __init alloc_bootmem_section(unsigned long size,
578} 578}
579#endif 579#endif
580 580
581void * __init __alloc_bootmem_node_nopanic(pg_data_t *pgdat, unsigned long size,
582 unsigned long align, unsigned long goal)
583{
584 void *ptr;
585
586 ptr = alloc_bootmem_core(pgdat->bdata, size, align, goal, 0);
587 if (ptr)
588 return ptr;
589
590 return __alloc_bootmem_nopanic(size, align, goal);
591}
592
581#ifndef ARCH_LOW_ADDRESS_LIMIT 593#ifndef ARCH_LOW_ADDRESS_LIMIT
582#define ARCH_LOW_ADDRESS_LIMIT 0xffffffffUL 594#define ARCH_LOW_ADDRESS_LIMIT 0xffffffffUL
583#endif 595#endif