[PATCH] x86_64: Always pass full number of nodes to NUMA hash computation
authorAndi Kleen <ak@suse.de>
Thu, 16 Feb 2006 22:42:16 +0000 (23:42 +0100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 17 Feb 2006 16:00:41 +0000 (08:00 -0800)
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>
arch/x86_64/mm/k8topology.c
arch/x86_64/mm/srat.c

index a5663e0bb01cad0a23fb9deab8b415829256c10f..dd60e71fdba6fe827a2c61028cd88ad0cb5f9abe 100644 (file)
@@ -155,7 +155,7 @@ int __init k8_scan_nodes(unsigned long start, unsigned long end)
        if (!found)
                return -1; 
 
-       memnode_shift = compute_hash_shift(nodes, numnodes);
+       memnode_shift = compute_hash_shift(nodes, 8);
        if (memnode_shift < 0) { 
                printk(KERN_ERR "No NUMA node hash function found. Contact maintainer\n"); 
                return -1; 
index 809dc70675f7fa7225af3faf866db769bc255e36..482c2576736942a3f41d75737caeb3b458d2dbcc 100644 (file)
@@ -271,7 +271,7 @@ int __init acpi_scan_nodes(unsigned long start, unsigned long end)
                return -1;
        }
 
-       memnode_shift = compute_hash_shift(nodes, nodes_weight(nodes_parsed));
+       memnode_shift = compute_hash_shift(nodes, MAX_NUMNODES);
        if (memnode_shift < 0) {
                printk(KERN_ERR
                     "SRAT: No NUMA node hash function found. Contact maintainer\n");