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>
This commit is contained in:
parent
0205f75571
commit
0cd842f970
|
@ -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)
|
static void __ref alloc_node_mem_map(struct pglist_data *pgdat)
|
||||||
{
|
{
|
||||||
unsigned long __maybe_unused start = 0;
|
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)
|
if (!pgdat->node_spanned_pages)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#ifdef CONFIG_FLAT_NODE_MEM_MAP
|
|
||||||
start = pgdat->node_start_pfn & ~(MAX_ORDER_NR_PAGES - 1);
|
start = pgdat->node_start_pfn & ~(MAX_ORDER_NR_PAGES - 1);
|
||||||
offset = pgdat->node_start_pfn - start;
|
offset = pgdat->node_start_pfn - start;
|
||||||
/* ia64 gets its own node_mem_map, before this, without bootmem */
|
/* 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_id);
|
||||||
pgdat->node_mem_map = map + offset;
|
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
|
#ifndef CONFIG_NEED_MULTIPLE_NODES
|
||||||
/*
|
/*
|
||||||
* With no DISCONTIG, the global mem_map is just set as node 0's
|
* 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 /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */
|
||||||
}
|
}
|
||||||
#endif
|
#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,
|
void __paginginit free_area_init_node(int nid, unsigned long *zones_size,
|
||||||
unsigned long node_start_pfn, unsigned long *zholes_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);
|
zones_size, zholes_size);
|
||||||
|
|
||||||
alloc_node_mem_map(pgdat);
|
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);
|
reset_deferred_meminit(pgdat);
|
||||||
free_area_init_core(pgdat);
|
free_area_init_core(pgdat);
|
||||||
|
|
Loading…
Reference in New Issue