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

mm: bootmem: pass pgdat instead of pgdat->bdata down the stack

Pass down the node descriptor instead of the more specific bootmem node
descriptor down the call stack, like nobootmem does, when there is no good
reason for the two to be different.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Tejun Heo <tj@kernel.org>
Acked-by: David S. Miller <davem@davemloft.net>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Gavin Shan <shangw@linux.vnet.ibm.com>
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
e9079911 ba539868

+10 -10
+10 -10
mm/bootmem.c
··· 698 698 return ___alloc_bootmem(size, align, goal, limit); 699 699 } 700 700 701 - static void * __init ___alloc_bootmem_node_nopanic(bootmem_data_t *bdata, 701 + static void * __init ___alloc_bootmem_node_nopanic(pg_data_t *pgdat, 702 702 unsigned long size, unsigned long align, 703 703 unsigned long goal, unsigned long limit) 704 704 { 705 705 void *ptr; 706 706 707 707 again: 708 - ptr = alloc_arch_preferred_bootmem(bdata, size, align, goal, limit); 708 + ptr = alloc_arch_preferred_bootmem(pgdat->bdata, size, 709 + align, goal, limit); 709 710 if (ptr) 710 711 return ptr; 711 712 712 - ptr = alloc_bootmem_bdata(bdata, size, align, goal, limit); 713 + ptr = alloc_bootmem_bdata(pgdat->bdata, size, align, goal, limit); 713 714 if (ptr) 714 715 return ptr; 715 716 ··· 732 731 if (WARN_ON_ONCE(slab_is_available())) 733 732 return kzalloc_node(size, GFP_NOWAIT, pgdat->node_id); 734 733 735 - return ___alloc_bootmem_node_nopanic(pgdat->bdata, size, 736 - align, goal, 0); 734 + return ___alloc_bootmem_node_nopanic(pgdat, size, align, goal, 0); 737 735 } 738 736 739 - void * __init ___alloc_bootmem_node(bootmem_data_t *bdata, unsigned long size, 737 + void * __init ___alloc_bootmem_node(pg_data_t *pgdat, unsigned long size, 740 738 unsigned long align, unsigned long goal, 741 739 unsigned long limit) 742 740 { 743 741 void *ptr; 744 742 745 - ptr = ___alloc_bootmem_node_nopanic(bdata, size, align, goal, 0); 743 + ptr = ___alloc_bootmem_node_nopanic(pgdat, size, align, goal, 0); 746 744 if (ptr) 747 745 return ptr; 748 746 ··· 771 771 if (WARN_ON_ONCE(slab_is_available())) 772 772 return kzalloc_node(size, GFP_NOWAIT, pgdat->node_id); 773 773 774 - return ___alloc_bootmem_node(pgdat->bdata, size, align, goal, 0); 774 + return ___alloc_bootmem_node(pgdat, size, align, goal, 0); 775 775 } 776 776 777 777 void * __init __alloc_bootmem_node_high(pg_data_t *pgdat, unsigned long size, ··· 869 869 if (WARN_ON_ONCE(slab_is_available())) 870 870 return kzalloc_node(size, GFP_NOWAIT, pgdat->node_id); 871 871 872 - return ___alloc_bootmem_node(pgdat->bdata, size, align, 873 - goal, ARCH_LOW_ADDRESS_LIMIT); 872 + return ___alloc_bootmem_node(pgdat, size, align, 873 + goal, ARCH_LOW_ADDRESS_LIMIT); 874 874 }