diff options
author | Oscar Salvador <osalvador@techadventures.net> | 2017-11-15 20:39:18 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-11-15 21:21:07 -0500 |
commit | 0cd842f97069c68718bef21ad2dc96a0578567ec (patch) | |
tree | bcb5407339610e634732e4858c1af3676f8d4349 /mm/page_alloc.c | |
parent | 0205f75571e3a70c35f0dd5e608773cce97d9dbb (diff) |
mm: make alloc_node_mem_map a void call if we don't have CONFIG_FLAT_NODE_MEM_MAP
free_area_init_node() calls alloc_node_mem_map(), but this function does
nothing unless we have CONFIG_FLAT_NODE_MEM_MAP.
As a cleanup, we can move the "#ifdef CONFIG_FLAT_NODE_MEM_MAP" within
alloc_node_mem_map() out of the function, and define a
alloc_node_mem_map() { } when CONFIG_FLAT_NODE_MEM_MAP is not present.
This also moves the printk that lays within the "#ifdef
CONFIG_FLAT_NODE_MEM_MAP" block from free_area_init_node() to
alloc_node_mem_map(), getting rid of the "#ifdef
CONFIG_FLAT_NODE_MEM_MAP" in free_area_init_node().
[akpm@linux-foundation.org: clean up the printk while we're there]
Link: http://lkml.kernel.org/r/20171114111935.GA11758@techadventures.net
Signed-off-by: Oscar Salvador <osalvador@techadventures.net>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/page_alloc.c')
-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); |