diff options
| -rw-r--r-- | mm/page_alloc.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 7a199767dcee..55ded92f9809 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
| @@ -6151,6 +6151,7 @@ static void __paginginit free_area_init_core(struct pglist_data *pgdat) | |||
| 6151 | } | 6151 | } |
| 6152 | } | 6152 | } |
| 6153 | 6153 | ||
| 6154 | #ifdef CONFIG_FLAT_NODE_MEM_MAP | ||
| 6154 | static void __ref alloc_node_mem_map(struct pglist_data *pgdat) | 6155 | static void __ref alloc_node_mem_map(struct pglist_data *pgdat) |
| 6155 | { | 6156 | { |
| 6156 | unsigned long __maybe_unused start = 0; | 6157 | unsigned long __maybe_unused start = 0; |
| @@ -6160,7 +6161,6 @@ static void __ref alloc_node_mem_map(struct pglist_data *pgdat) | |||
| 6160 | if (!pgdat->node_spanned_pages) | 6161 | if (!pgdat->node_spanned_pages) |
| 6161 | return; | 6162 | return; |
| 6162 | 6163 | ||
| 6163 | #ifdef CONFIG_FLAT_NODE_MEM_MAP | ||
| 6164 | start = pgdat->node_start_pfn & ~(MAX_ORDER_NR_PAGES - 1); | 6164 | start = pgdat->node_start_pfn & ~(MAX_ORDER_NR_PAGES - 1); |
| 6165 | offset = pgdat->node_start_pfn - start; | 6165 | offset = pgdat->node_start_pfn - start; |
| 6166 | /* ia64 gets its own node_mem_map, before this, without bootmem */ | 6166 | /* 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) | |||
| 6182 | pgdat->node_id); | 6182 | pgdat->node_id); |
| 6183 | pgdat->node_mem_map = map + offset; | 6183 | pgdat->node_mem_map = map + offset; |
| 6184 | } | 6184 | } |
| 6185 | pr_debug("%s: node %d, pgdat %08lx, node_mem_map %08lx\n", | ||
| 6186 | __func__, pgdat->node_id, (unsigned long)pgdat, | ||
| 6187 | (unsigned long)pgdat->node_mem_map); | ||
| 6185 | #ifndef CONFIG_NEED_MULTIPLE_NODES | 6188 | #ifndef CONFIG_NEED_MULTIPLE_NODES |
| 6186 | /* | 6189 | /* |
| 6187 | * With no DISCONTIG, the global mem_map is just set as node 0's | 6190 | * 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) | |||
| 6194 | #endif /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */ | 6197 | #endif /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */ |
| 6195 | } | 6198 | } |
| 6196 | #endif | 6199 | #endif |
| 6197 | #endif /* CONFIG_FLAT_NODE_MEM_MAP */ | ||
| 6198 | } | 6200 | } |
| 6201 | #else | ||
| 6202 | static void __ref alloc_node_mem_map(struct pglist_data *pgdat) { } | ||
| 6203 | #endif /* CONFIG_FLAT_NODE_MEM_MAP */ | ||
| 6199 | 6204 | ||
| 6200 | void __paginginit free_area_init_node(int nid, unsigned long *zones_size, | 6205 | void __paginginit free_area_init_node(int nid, unsigned long *zones_size, |
| 6201 | unsigned long node_start_pfn, unsigned long *zholes_size) | 6206 | 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, | |||
| 6222 | zones_size, zholes_size); | 6227 | zones_size, zholes_size); |
| 6223 | 6228 | ||
| 6224 | alloc_node_mem_map(pgdat); | 6229 | alloc_node_mem_map(pgdat); |
| 6225 | #ifdef CONFIG_FLAT_NODE_MEM_MAP | ||
| 6226 | printk(KERN_DEBUG "free_area_init_node: node %d, pgdat %08lx, node_mem_map %08lx\n", | ||
| 6227 | nid, (unsigned long)pgdat, | ||
| 6228 | (unsigned long)pgdat->node_mem_map); | ||
| 6229 | #endif | ||
| 6230 | 6230 | ||
| 6231 | reset_deferred_meminit(pgdat); | 6231 | reset_deferred_meminit(pgdat); |
| 6232 | free_area_init_core(pgdat); | 6232 | free_area_init_core(pgdat); |
