|
@@ -6151,6 +6151,7 @@ static void __paginginit free_area_init_core(struct pglist_data *pgdat)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+#ifdef CONFIG_FLAT_NODE_MEM_MAP
|
|
|
static void __ref alloc_node_mem_map(struct pglist_data *pgdat)
|
|
|
{
|
|
|
unsigned long __maybe_unused start = 0;
|
|
@@ -6160,7 +6161,6 @@ static void __ref alloc_node_mem_map(struct pglist_data *pgdat)
|
|
|
if (!pgdat->node_spanned_pages)
|
|
|
return;
|
|
|
|
|
|
-#ifdef CONFIG_FLAT_NODE_MEM_MAP
|
|
|
start = pgdat->node_start_pfn & ~(MAX_ORDER_NR_PAGES - 1);
|
|
|
offset = pgdat->node_start_pfn - start;
|
|
|
/* ia64 gets its own node_mem_map, before this, without bootmem */
|
|
@@ -6182,6 +6182,9 @@ static void __ref alloc_node_mem_map(struct pglist_data *pgdat)
|
|
|
pgdat->node_id);
|
|
|
pgdat->node_mem_map = map + offset;
|
|
|
}
|
|
|
+ pr_debug("%s: node %d, pgdat %08lx, node_mem_map %08lx\n",
|
|
|
+ __func__, pgdat->node_id, (unsigned long)pgdat,
|
|
|
+ (unsigned long)pgdat->node_mem_map);
|
|
|
#ifndef CONFIG_NEED_MULTIPLE_NODES
|
|
|
/*
|
|
|
* With no DISCONTIG, the global mem_map is just set as node 0's
|
|
@@ -6194,8 +6197,10 @@ static void __ref alloc_node_mem_map(struct pglist_data *pgdat)
|
|
|
#endif /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */
|
|
|
}
|
|
|
#endif
|
|
|
-#endif /* CONFIG_FLAT_NODE_MEM_MAP */
|
|
|
}
|
|
|
+#else
|
|
|
+static void __ref alloc_node_mem_map(struct pglist_data *pgdat) { }
|
|
|
+#endif /* CONFIG_FLAT_NODE_MEM_MAP */
|
|
|
|
|
|
void __paginginit free_area_init_node(int nid, unsigned long *zones_size,
|
|
|
unsigned long node_start_pfn, unsigned long *zholes_size)
|
|
@@ -6222,11 +6227,6 @@ void __paginginit free_area_init_node(int nid, unsigned long *zones_size,
|
|
|
zones_size, zholes_size);
|
|
|
|
|
|
alloc_node_mem_map(pgdat);
|
|
|
-#ifdef CONFIG_FLAT_NODE_MEM_MAP
|
|
|
- printk(KERN_DEBUG "free_area_init_node: node %d, pgdat %08lx, node_mem_map %08lx\n",
|
|
|
- nid, (unsigned long)pgdat,
|
|
|
- (unsigned long)pgdat->node_mem_map);
|
|
|
-#endif
|
|
|
|
|
|
reset_deferred_meminit(pgdat);
|
|
|
free_area_init_core(pgdat);
|