Skip to content

Commit

Permalink
bootmem: Make __alloc_bootmem_low_node fall back to other nodes
Browse files Browse the repository at this point in the history
__alloc_bootmem_node already does this, make the interface consistent.

Signed-off-by: Johannes Weiner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Yinghai Lu <[email protected]>
Cc: Andi Kleen <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Johannes Weiner authored and torvalds committed Jul 24, 2008
1 parent 0f3caba commit 4cc278b
Showing 1 changed file with 16 additions and 9 deletions.
25 changes: 16 additions & 9 deletions mm/bootmem.c
Original file line number Diff line number Diff line change
Expand Up @@ -587,6 +587,19 @@ void * __init __alloc_bootmem(unsigned long size, unsigned long align,
return ___alloc_bootmem(size, align, goal, 0);
}

static void * __init ___alloc_bootmem_node(bootmem_data_t *bdata,
unsigned long size, unsigned long align,
unsigned long goal, unsigned long limit)
{
void *ptr;

ptr = alloc_bootmem_core(bdata, size, align, goal, limit);
if (ptr)
return ptr;

return ___alloc_bootmem(size, align, goal, limit);
}

/**
* __alloc_bootmem_node - allocate boot memory from a specific node
* @pgdat: node to allocate from
Expand All @@ -605,13 +618,7 @@ void * __init __alloc_bootmem(unsigned long size, unsigned long align,
void * __init __alloc_bootmem_node(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(size, align, goal);
return ___alloc_bootmem_node(pgdat->bdata, size, align, goal, 0);
}

#ifdef CONFIG_SPARSEMEM
Expand Down Expand Up @@ -705,6 +712,6 @@ void * __init __alloc_bootmem_low(unsigned long size, unsigned long align,
void * __init __alloc_bootmem_low_node(pg_data_t *pgdat, unsigned long size,
unsigned long align, unsigned long goal)
{
return alloc_bootmem_core(pgdat->bdata, size, align, goal,
ARCH_LOW_ADDRESS_LIMIT);
return ___alloc_bootmem_node(pgdat->bdata, size, align,
goal, ARCH_LOW_ADDRESS_LIMIT);
}

0 comments on commit 4cc278b

Please sign in to comment.