diff options
author | Andi Kleen <ak@suse.de> | 2008-07-24 00:27:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-24 13:47:17 -0400 |
commit | b54bbf7b81170f03597c17dd0b559e3006bc9868 (patch) | |
tree | abc6b326e293d3a685d943956d32ab4038a90e1f /mm | |
parent | 5ced66c901f1cf0b684feb15c2cd8b126e263d07 (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.c | 12 |
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 | ||
581 | void * __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 |