Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

bootmem: Make __alloc_bootmem_low_node fall back to other nodes

__alloc_bootmem_node already does this, make the interface consistent.

Signed-off-by: Johannes Weiner <hannes@saeurebad.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: Andi Kleen <andi@firstfloor.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Johannes Weiner and committed by
Linus Torvalds
4cc278b7 0f3caba2

+16 -9
+16 -9
mm/bootmem.c
··· 587 587 return ___alloc_bootmem(size, align, goal, 0); 588 588 } 589 589 590 + static void * __init ___alloc_bootmem_node(bootmem_data_t *bdata, 591 + unsigned long size, unsigned long align, 592 + unsigned long goal, unsigned long limit) 593 + { 594 + void *ptr; 595 + 596 + ptr = alloc_bootmem_core(bdata, size, align, goal, limit); 597 + if (ptr) 598 + return ptr; 599 + 600 + return ___alloc_bootmem(size, align, goal, limit); 601 + } 602 + 590 603 /** 591 604 * __alloc_bootmem_node - allocate boot memory from a specific node 592 605 * @pgdat: node to allocate from ··· 618 605 void * __init __alloc_bootmem_node(pg_data_t *pgdat, unsigned long size, 619 606 unsigned long align, unsigned long goal) 620 607 { 621 - void *ptr; 622 - 623 - ptr = alloc_bootmem_core(pgdat->bdata, size, align, goal, 0); 624 - if (ptr) 625 - return ptr; 626 - 627 - return __alloc_bootmem(size, align, goal); 608 + return ___alloc_bootmem_node(pgdat->bdata, size, align, goal, 0); 628 609 } 629 610 630 611 #ifdef CONFIG_SPARSEMEM ··· 712 705 void * __init __alloc_bootmem_low_node(pg_data_t *pgdat, unsigned long size, 713 706 unsigned long align, unsigned long goal) 714 707 { 715 - return alloc_bootmem_core(pgdat->bdata, size, align, goal, 716 - ARCH_LOW_ADDRESS_LIMIT); 708 + return ___alloc_bootmem_node(pgdat->bdata, size, align, 709 + goal, ARCH_LOW_ADDRESS_LIMIT); 717 710 }