x86, mm: Fix node_possible_map logic
commit7c43769a9776141ec23ca81a1bdd5a9c0512f165
authorYinghai Lu <yinghai@kernel.org>
Fri, 15 May 2009 20:59:37 +0000 (15 13:59 -0700)
committerIngo Molnar <mingo@elte.hu>
Mon, 18 May 2009 07:21:04 +0000 (18 09:21 +0200)
treee24d99a84d76386b0bf910152d1841853857e63f
parent888a589f6be07d624e21e2174d98375e9f95911b
x86, mm: Fix node_possible_map logic

Recently there were some changes to the meaning of node_possible_map,
and it is quite strange:

- the node without memory would be set in node_possible_map
- but some node with less NODE_MIN_SIZE will be kicked out of node_possible_map.

fix it by adding strict_setup_node_bootmem().

Also, remove unparse_node().

so result will be:

1. cpu_to_node() will return online node only (nearest one)
2. apicid_to_node() still returns the node that could be not online but is set
   in node_possible_map.
3. node_possible_map will include nodes that mem on it are less NODE_MIN_SIZE

v2: after move_cpus_to_node change.

[ Impact: get node_possible_map right ]

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Tested-by: Jack Steiner <steiner@sgi.com>
LKML-Reference: <4A0C49BE.6080800@kernel.org>
[ v3: various small cleanups and comment clarifications ]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/include/asm/numa_64.h
arch/x86/mm/numa_64.c
arch/x86/mm/srat_64.c