aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86_64/mm/k8topology.c
diff options
context:
space:
mode:
authorSuresh Siddha <suresh.b.siddha@intel.com>2007-05-02 13:27:20 -0400
committerAndi Kleen <andi@basil.nowhere.org>2007-05-02 13:27:20 -0400
commite3f1caeef9a70b0699518092d653c15274b025ab (patch)
tree23d89175f809cb7a53377fa68b295f6ce162f99b /arch/x86_64/mm/k8topology.c
parent8a336b0a4b6dfacc8cc5fd617ba1e1904077de2d (diff)
[PATCH] x86-64: set node_possible_map at runtime - try 2
Set the node_possible_map at runtime on x86_64. On a non NUMA system, num_possible_nodes() will now say '1'. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: Andi Kleen <ak@suse.de> Cc: Andi Kleen <andi@firstfloor.org> Cc: Eric Dumazet <dada1@cosmosbay.com> Cc: David Rientjes <rientjes@google.com> Cc: Christoph Lameter <clameter@engr.sgi.com>
Diffstat (limited to 'arch/x86_64/mm/k8topology.c')
-rw-r--r--arch/x86_64/mm/k8topology.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/arch/x86_64/mm/k8topology.c b/arch/x86_64/mm/k8topology.c
index b5b8dba28b4e..60e860e5ef4c 100644
--- a/arch/x86_64/mm/k8topology.c
+++ b/arch/x86_64/mm/k8topology.c
@@ -49,11 +49,8 @@ int __init k8_scan_nodes(unsigned long start, unsigned long end)
49 int found = 0; 49 int found = 0;
50 u32 reg; 50 u32 reg;
51 unsigned numnodes; 51 unsigned numnodes;
52 nodemask_t nodes_parsed;
53 unsigned dualcore = 0; 52 unsigned dualcore = 0;
54 53
55 nodes_clear(nodes_parsed);
56
57 if (!early_pci_allowed()) 54 if (!early_pci_allowed())
58 return -1; 55 return -1;
59 56
@@ -102,7 +99,7 @@ int __init k8_scan_nodes(unsigned long start, unsigned long end)
102 nodeid, (base>>8)&3, (limit>>8) & 3); 99 nodeid, (base>>8)&3, (limit>>8) & 3);
103 return -1; 100 return -1;
104 } 101 }
105 if (node_isset(nodeid, nodes_parsed)) { 102 if (node_isset(nodeid, node_possible_map)) {
106 printk(KERN_INFO "Node %d already present. Skipping\n", 103 printk(KERN_INFO "Node %d already present. Skipping\n",
107 nodeid); 104 nodeid);
108 continue; 105 continue;
@@ -155,7 +152,7 @@ int __init k8_scan_nodes(unsigned long start, unsigned long end)
155 152
156 prevbase = base; 153 prevbase = base;
157 154
158 node_set(nodeid, nodes_parsed); 155 node_set(nodeid, node_possible_map);
159 } 156 }
160 157
161 if (!found) 158 if (!found)