From aa54f58698b96ff3b850ce9d611099997653bb8c Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Wed, 23 Jul 2008 21:27:45 -0700 Subject: [PATCH] --- yaml --- r: 105305 b: refs/heads/master c: b54bbf7b81170f03597c17dd0b559e3006bc9868 h: refs/heads/master i: 105303: 28e843eabbe0f335d76cfc7bc73c1890a4b62b09 v: v3 --- [refs] | 2 +- trunk/include/linux/bootmem.h | 4 ++++ trunk/mm/bootmem.c | 12 ++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 08b49257fa00..6441965d67ad 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5ced66c901f1cf0b684feb15c2cd8b126e263d07 +refs/heads/master: b54bbf7b81170f03597c17dd0b559e3006bc9868 diff --git a/trunk/include/linux/bootmem.h b/trunk/include/linux/bootmem.h index dd8fee6c46d9..f352c5f125b4 100644 --- a/trunk/include/linux/bootmem.h +++ b/trunk/include/linux/bootmem.h @@ -89,6 +89,10 @@ extern void *__alloc_bootmem_node(pg_data_t *pgdat, unsigned long size, unsigned long align, unsigned long goal); +extern void *__alloc_bootmem_node_nopanic(pg_data_t *pgdat, + unsigned long size, + unsigned long align, + unsigned long goal); extern unsigned long init_bootmem_node(pg_data_t *pgdat, unsigned long freepfn, unsigned long startpfn, diff --git a/trunk/mm/bootmem.c b/trunk/mm/bootmem.c index 4bc6ae2fbaa3..9ac972535fff 100644 --- a/trunk/mm/bootmem.c +++ b/trunk/mm/bootmem.c @@ -578,6 +578,18 @@ void * __init alloc_bootmem_section(unsigned long size, } #endif +void * __init __alloc_bootmem_node_nopanic(pg_data_t *pgdat, unsigned long size, + unsigned long align, unsigned long goal) +{ + void *ptr; + + ptr = alloc_bootmem_core(pgdat->bdata, size, align, goal, 0); + if (ptr) + return ptr; + + return __alloc_bootmem_nopanic(size, align, goal); +} + #ifndef ARCH_LOW_ADDRESS_LIMIT #define ARCH_LOW_ADDRESS_LIMIT 0xffffffffUL #endif