aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Weiner <hannes@cmpxchg.org>2012-05-29 18:06:36 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-29 19:22:22 -0400
commite9079911e6c8fb7882de142de76f3ee49b54e000 (patch)
tree9151744d050e93bddcacc3a46c37dfb198fefbb3
parentba539868331874da02017e8dda8ed5b86af6d21a (diff)
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>
-rw-r--r--mm/bootmem.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/mm/bootmem.c b/mm/bootmem.c
index d9185c30f3cc..9d0f26664b3b 100644
--- a/mm/bootmem.c
+++ b/mm/bootmem.c
@@ -698,18 +698,19 @@ void * __init __alloc_bootmem(unsigned long size, unsigned long align,
698 return ___alloc_bootmem(size, align, goal, limit); 698 return ___alloc_bootmem(size, align, goal, limit);
699} 699}
700 700
701static void * __init ___alloc_bootmem_node_nopanic(bootmem_data_t *bdata, 701static void * __init ___alloc_bootmem_node_nopanic(pg_data_t *pgdat,
702 unsigned long size, unsigned long align, 702 unsigned long size, unsigned long align,
703 unsigned long goal, unsigned long limit) 703 unsigned long goal, unsigned long limit)
704{ 704{
705 void *ptr; 705 void *ptr;
706 706
707again: 707again:
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 if (ptr) 710 if (ptr)
710 return ptr; 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 if (ptr) 714 if (ptr)
714 return ptr; 715 return ptr;
715 716
@@ -731,17 +732,16 @@ void * __init __alloc_bootmem_node_nopanic(pg_data_t *pgdat, unsigned long size,
731 if (WARN_ON_ONCE(slab_is_available())) 732 if (WARN_ON_ONCE(slab_is_available()))
732 return kzalloc_node(size, GFP_NOWAIT, pgdat->node_id); 733 return kzalloc_node(size, GFP_NOWAIT, pgdat->node_id);
733 734
734 return ___alloc_bootmem_node_nopanic(pgdat->bdata, size, 735 return ___alloc_bootmem_node_nopanic(pgdat, size, align, goal, 0);
735 align, goal, 0);
736} 736}
737 737
738void * __init ___alloc_bootmem_node(bootmem_data_t *bdata, unsigned long size, 738void * __init ___alloc_bootmem_node(pg_data_t *pgdat, unsigned long size,
739 unsigned long align, unsigned long goal, 739 unsigned long align, unsigned long goal,
740 unsigned long limit) 740 unsigned long limit)
741{ 741{
742 void *ptr; 742 void *ptr;
743 743
744 ptr = ___alloc_bootmem_node_nopanic(bdata, size, align, goal, 0); 744 ptr = ___alloc_bootmem_node_nopanic(pgdat, size, align, goal, 0);
745 if (ptr) 745 if (ptr)
746 return ptr; 746 return ptr;
747 747
@@ -771,7 +771,7 @@ void * __init __alloc_bootmem_node(pg_data_t *pgdat, unsigned long size,
771 if (WARN_ON_ONCE(slab_is_available())) 771 if (WARN_ON_ONCE(slab_is_available()))
772 return kzalloc_node(size, GFP_NOWAIT, pgdat->node_id); 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
777void * __init __alloc_bootmem_node_high(pg_data_t *pgdat, unsigned long size, 777void * __init __alloc_bootmem_node_high(pg_data_t *pgdat, unsigned long size,
@@ -869,6 +869,6 @@ void * __init __alloc_bootmem_low_node(pg_data_t *pgdat, unsigned long size,
869 if (WARN_ON_ONCE(slab_is_available())) 869 if (WARN_ON_ONCE(slab_is_available()))
870 return kzalloc_node(size, GFP_NOWAIT, pgdat->node_id); 870 return kzalloc_node(size, GFP_NOWAIT, pgdat->node_id);
871 871
872 return ___alloc_bootmem_node(pgdat->bdata, size, align, 872 return ___alloc_bootmem_node(pgdat, size, align,
873 goal, ARCH_LOW_ADDRESS_LIMIT); 873 goal, ARCH_LOW_ADDRESS_LIMIT);
874} 874}