diff options
author | Andi Kleen <ak@suse.de> | 2006-02-16 17:42:16 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-17 11:00:41 -0500 |
commit | 2aed711a399cbc4a9bf239c13f05a8a8b460f215 (patch) | |
tree | 4df37199d4383107573b0cf3bf406590c3e81bfd /arch | |
parent | fdb9df942437c6c5d1a6928d5fff824466c3af67 (diff) |
[PATCH] x86_64: Always pass full number of nodes to NUMA hash computation
Previously the numa hash code would be confused by holes in the node space
and stop early. This is the first part of the fix for the non boot issue
with empty nodes on Opterons.
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86_64/mm/k8topology.c | 2 | ||||
-rw-r--r-- | arch/x86_64/mm/srat.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86_64/mm/k8topology.c b/arch/x86_64/mm/k8topology.c index a5663e0bb01c..dd60e71fdba6 100644 --- a/arch/x86_64/mm/k8topology.c +++ b/arch/x86_64/mm/k8topology.c | |||
@@ -155,7 +155,7 @@ int __init k8_scan_nodes(unsigned long start, unsigned long end) | |||
155 | if (!found) | 155 | if (!found) |
156 | return -1; | 156 | return -1; |
157 | 157 | ||
158 | memnode_shift = compute_hash_shift(nodes, numnodes); | 158 | memnode_shift = compute_hash_shift(nodes, 8); |
159 | if (memnode_shift < 0) { | 159 | if (memnode_shift < 0) { |
160 | printk(KERN_ERR "No NUMA node hash function found. Contact maintainer\n"); | 160 | printk(KERN_ERR "No NUMA node hash function found. Contact maintainer\n"); |
161 | return -1; | 161 | return -1; |
diff --git a/arch/x86_64/mm/srat.c b/arch/x86_64/mm/srat.c index 809dc70675f7..482c25767369 100644 --- a/arch/x86_64/mm/srat.c +++ b/arch/x86_64/mm/srat.c | |||
@@ -271,7 +271,7 @@ int __init acpi_scan_nodes(unsigned long start, unsigned long end) | |||
271 | return -1; | 271 | return -1; |
272 | } | 272 | } |
273 | 273 | ||
274 | memnode_shift = compute_hash_shift(nodes, nodes_weight(nodes_parsed)); | 274 | memnode_shift = compute_hash_shift(nodes, MAX_NUMNODES); |
275 | if (memnode_shift < 0) { | 275 | if (memnode_shift < 0) { |
276 | printk(KERN_ERR | 276 | printk(KERN_ERR |
277 | "SRAT: No NUMA node hash function found. Contact maintainer\n"); | 277 | "SRAT: No NUMA node hash function found. Contact maintainer\n"); |