powerpc/mm: Eliminate unneeded for_each_memblock
authorCody P Schafer <cody@linux.vnet.ibm.com>
Wed, 9 Jan 2013 12:40:18 +0000 (12:40 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 29 Jan 2013 00:34:25 +0000 (11:34 +1100)
The only persistent change made by this loop is calling
memblock_set_node() once for each memblock, which is not useful (and has
no effect) as memblock_set_node() is not called with any
memblock-specific parameters.

Subsistute a single memblock_set_node().

Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/mm/mem.c

index 0dba506..40df7c8 100644 (file)
@@ -195,13 +195,10 @@ void __init do_init_bootmem(void)
        min_low_pfn = MEMORY_START >> PAGE_SHIFT;
        boot_mapsize = init_bootmem_node(NODE_DATA(0), start >> PAGE_SHIFT, min_low_pfn, max_low_pfn);
 
-       /* Add active regions with valid PFNs */
-       for_each_memblock(memory, reg) {
-               unsigned long start_pfn, end_pfn;
-               start_pfn = memblock_region_memory_base_pfn(reg);
-               end_pfn = memblock_region_memory_end_pfn(reg);
-               memblock_set_node(0, (phys_addr_t)ULLONG_MAX, 0);
-       }
+       /* Place all memblock_regions in the same node and merge contiguous
+        * memblock_regions
+        */
+       memblock_set_node(0, (phys_addr_t)ULLONG_MAX, 0);
 
        /* Add all physical memory to the bootmem map, mark each area
         * present.