Commit 3b5fd59f authored by Andy Whitcroft's avatar Andy Whitcroft Committed by Linus Torvalds

[PATCH] x86_64: sparsemem does not need node_mem_map

Seems we are trying to init the node_mem_map when we don't need to, for
example when SPARSEMEM is enabled.  This causes the error below during
compilation.  Use CONFIG_FLAT_NODE_MEM_MAP to gate allocation and init.

  arch/x86_64/mm/numa.c: In function `setup_node_zones':
  arch/x86_64/mm/numa.c:191: error: structure has no member
                                                  named `node_mem_map'
Signed-off-by: default avatarAndy Whitcroft <apw@shadowen.org>
Acked-by: default avatarAndi Kleen <ak@muc.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 73a88814
...@@ -188,11 +188,13 @@ void __init setup_node_zones(int nodeid) ...@@ -188,11 +188,13 @@ void __init setup_node_zones(int nodeid)
memory. */ memory. */
memmapsize = sizeof(struct page) * (end_pfn-start_pfn); memmapsize = sizeof(struct page) * (end_pfn-start_pfn);
limit = end_pfn << PAGE_SHIFT; limit = end_pfn << PAGE_SHIFT;
#ifdef CONFIG_FLAT_NODE_MEM_MAP
NODE_DATA(nodeid)->node_mem_map = NODE_DATA(nodeid)->node_mem_map =
__alloc_bootmem_core(NODE_DATA(nodeid)->bdata, __alloc_bootmem_core(NODE_DATA(nodeid)->bdata,
memmapsize, SMP_CACHE_BYTES, memmapsize, SMP_CACHE_BYTES,
round_down(limit - memmapsize, PAGE_SIZE), round_down(limit - memmapsize, PAGE_SIZE),
limit); limit);
#endif
size_zones(zones, holes, start_pfn, end_pfn); size_zones(zones, holes, start_pfn, end_pfn);
free_area_init_node(nodeid, NODE_DATA(nodeid), zones, free_area_init_node(nodeid, NODE_DATA(nodeid), zones,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment