[RFC 1/3] mm: Move bootmem descriptors to a single place

Previous thread: [RFC 0/3] bootmem rewrite by Johannes Weiner on Tuesday, May 20, 2008 - 6:37 pm. (4 messages)

Next thread: [RFC 2/3] mm: Reimplement bootmem by Johannes Weiner on Tuesday, May 20, 2008 - 6:37 pm. (1 message)
From: Johannes Weiner
Date: Tuesday, May 20, 2008 - 6:37 pm

There are a lot of places that define either a single bootmem
descriptor or an array of them.  Use only one central array with
MAX_NUMNODES items instead.

Signed-off-by: Johannes Weiner <hannes@saeurebad.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Ingo Molnar <mingo@elte.hu>
CC: Richard Henderson <rth@twiddle.net>
CC: Russell King <rmk@arm.linux.org.uk>
CC: Tony Luck <tony.luck@intel.com>
CC: Hirokazu Takata <takata@linux-m32r.org>
CC: Geert Uytterhoeven <geert@linux-m68k.org>
CC: Kyle McMartin <kyle@parisc-linux.org>
CC: Paul Mackerras <paulus@samba.org>
CC: Paul Mundt <lethal@linux-sh.org>
CC: David S. Miller <davem@davemloft.net>
---

Andrew, this patch is already in -mm together with:

  - mm: Fix free_all_bootmem_core alignment check
  - mm: Normalize internal argument passing of bootmem data
  - mm: Unexport __alloc_bootmem_core()

They are obsoleted by this series.  This patch stays the same.

--- a/arch/alpha/mm/numa.c
+++ b/arch/alpha/mm/numa.c
@@ -19,7 +19,6 @@
 #include <asm/pgalloc.h>
 
 pg_data_t node_data[MAX_NUMNODES];
-bootmem_data_t node_bdata[MAX_NUMNODES];
 EXPORT_SYMBOL(node_data);
 
 #undef DEBUG_DISCONTIG
@@ -141,7 +140,7 @@ setup_memory_node(int nid, void *kernel_
 		printk(" not enough mem to reserve NODE_DATA");
 		return;
 	}
-	NODE_DATA(nid)->bdata = &node_bdata[nid];
+	NODE_DATA(nid)->bdata = &bootmem_node_data[nid];
 
 	printk(" Detected node memory:   start %8lu, end %8lu\n",
 	       node_min_pfn, node_max_pfn);
@@ -304,8 +303,9 @@ void __init paging_init(void)
 	dma_local_pfn = virt_to_phys((char *)MAX_DMA_ADDRESS) >> PAGE_SHIFT;
 
 	for_each_online_node(nid) {
-		unsigned long start_pfn = node_bdata[nid].node_boot_start >> PAGE_SHIFT;
-		unsigned long end_pfn = node_bdata[nid].node_low_pfn;
+		bootmem_data_t *bdata = &bootmem_node_data[nid];
+		unsigned long start_pfn = bdata->node_boot_start >> PAGE_SHIFT;
+		unsigned long end_pfn = bdata->node_low_pfn;
 
 		if ...
Previous thread: [RFC 0/3] bootmem rewrite by Johannes Weiner on Tuesday, May 20, 2008 - 6:37 pm. (4 messages)

Next thread: [RFC 2/3] mm: Reimplement bootmem by Johannes Weiner on Tuesday, May 20, 2008 - 6:37 pm. (1 message)