[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>

authored by Andi Kleen and committed by Linus Torvalds 2aed711a fdb9df94

+2 -2
+1 -1
arch/x86_64/mm/k8topology.c
··· 155 if (!found) 156 return -1; 157 158 - memnode_shift = compute_hash_shift(nodes, numnodes); 159 if (memnode_shift < 0) { 160 printk(KERN_ERR "No NUMA node hash function found. Contact maintainer\n"); 161 return -1;
··· 155 if (!found) 156 return -1; 157 158 + memnode_shift = compute_hash_shift(nodes, 8); 159 if (memnode_shift < 0) { 160 printk(KERN_ERR "No NUMA node hash function found. Contact maintainer\n"); 161 return -1;
+1 -1
arch/x86_64/mm/srat.c
··· 271 return -1; 272 } 273 274 - memnode_shift = compute_hash_shift(nodes, nodes_weight(nodes_parsed)); 275 if (memnode_shift < 0) { 276 printk(KERN_ERR 277 "SRAT: No NUMA node hash function found. Contact maintainer\n");
··· 271 return -1; 272 } 273 274 + memnode_shift = compute_hash_shift(nodes, MAX_NUMNODES); 275 if (memnode_shift < 0) { 276 printk(KERN_ERR 277 "SRAT: No NUMA node hash function found. Contact maintainer\n");