x86-64, NUMA: trivial cleanups for setup_node_bootmem()
[sfrench/cifs-2.6.git] / arch / x86 / mm / numa_64.c
index 4057b5d4391868567a2766fdf114cec9db8d937b..8043d5e7f0d3dabe91b56b3db81c7ebaf2eaa7aa 100644 (file)
@@ -128,14 +128,11 @@ int __init numa_add_memblk(int nid, u64 start, u64 end)
 
 /* Initialize bootmem allocator for a node */
 void __init
-setup_node_bootmem(int nodeid, unsigned long start, unsigned long end)
+setup_node_bootmem(int nid, unsigned long start, unsigned long end)
 {
-       unsigned long start_pfn, last_pfn, nodedata_phys;
-       const int pgdat_size = roundup(sizeof(pg_data_t), PAGE_SIZE);
-       int nid;
-
-       if (!end)
-               return;
+       const size_t nd_size = roundup(sizeof(pg_data_t), PAGE_SIZE);
+       unsigned long nd_pa;
+       int tnid;
 
        /*
         * Don't confuse VM with a node that doesn't have the
@@ -146,30 +143,27 @@ setup_node_bootmem(int nodeid, unsigned long start, unsigned long end)
 
        start = roundup(start, ZONE_ALIGN);
 
-       printk(KERN_INFO "Initmem setup node %d %016lx-%016lx\n", nodeid,
-              start, end);
-
-       start_pfn = start >> PAGE_SHIFT;
-       last_pfn = end >> PAGE_SHIFT;
+       printk(KERN_INFO "Initmem setup node %d %016lx-%016lx\n",
+              nid, start, end);
 
-       node_data[nodeid] = early_node_mem(nodeid, start, end, pgdat_size,
-                                          SMP_CACHE_BYTES);
-       if (node_data[nodeid] == NULL)
+       node_data[nid] = early_node_mem(nid, start, end, nd_size,
+                                       SMP_CACHE_BYTES);
+       if (node_data[nid] == NULL)
                return;
-       nodedata_phys = __pa(node_data[nodeid]);
-       memblock_x86_reserve_range(nodedata_phys, nodedata_phys + pgdat_size, "NODE_DATA");
-       printk(KERN_INFO "  NODE_DATA [%016lx - %016lx]\n", nodedata_phys,
-               nodedata_phys + pgdat_size - 1);
-       nid = early_pfn_to_nid(nodedata_phys >> PAGE_SHIFT);
-       if (nid != nodeid)
-               printk(KERN_INFO "    NODE_DATA(%d) on node %d\n", nodeid, nid);
-
-       memset(NODE_DATA(nodeid), 0, sizeof(pg_data_t));
-       NODE_DATA(nodeid)->node_id = nodeid;
-       NODE_DATA(nodeid)->node_start_pfn = start_pfn;
-       NODE_DATA(nodeid)->node_spanned_pages = last_pfn - start_pfn;
-
-       node_set_online(nodeid);
+       nd_pa = __pa(node_data[nid]);
+       memblock_x86_reserve_range(nd_pa, nd_pa + nd_size, "NODE_DATA");
+       printk(KERN_INFO "  NODE_DATA [%016lx - %016lx]\n",
+              nd_pa, nd_pa + nd_size - 1);
+       tnid = early_pfn_to_nid(nd_pa >> PAGE_SHIFT);
+       if (tnid != nid)
+               printk(KERN_INFO "    NODE_DATA(%d) on node %d\n", nid, tnid);
+
+       memset(NODE_DATA(nid), 0, sizeof(pg_data_t));
+       NODE_DATA(nid)->node_id = nid;
+       NODE_DATA(nid)->node_start_pfn = start >> PAGE_SHIFT;
+       NODE_DATA(nid)->node_spanned_pages = (end - start) >> PAGE_SHIFT;
+
+       node_set_online(nid);
 }
 
 /**