aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86_64/mm/srat.c
diff options
context:
space:
mode:
authorDaniel Yeisley <dan.yeisley@unisys.com>2006-05-30 16:47:57 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-05-30 23:31:06 -0400
commit0d01532451710110a93891ae152d1dd1ee006ccf (patch)
tree565b85776957df727847ffd752018022e83c63f9 /arch/x86_64/mm/srat.c
parentb2468e525f29882f866cb0b832956e69328f9647 (diff)
[PATCH] x86_64: Handle empty node zero
From: Daniel Yeisley <dan.yeisley@unisys.com> It is possible to boot a Unisys ES7000 with CPUs from multiple cells, and not also include the memory from those cells. This can create a scenario where node 0 has cpus, but no associated memory. The system will boot fine in a configuration where node 0 has memory, but nodes 2 and 3 do not. [AK: I rechecked the code and generic code seems to indeed handle that already. Dan's original patch had a change for mm/slab.c that seems to be already in now.] Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/x86_64/mm/srat.c')
-rw-r--r--arch/x86_64/mm/srat.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86_64/mm/srat.c b/arch/x86_64/mm/srat.c
index e1513532df2..474df22c6ed 100644
--- a/arch/x86_64/mm/srat.c
+++ b/arch/x86_64/mm/srat.c
@@ -399,8 +399,10 @@ int __init acpi_scan_nodes(unsigned long start, unsigned long end)
399 /* First clean up the node list */ 399 /* First clean up the node list */
400 for (i = 0; i < MAX_NUMNODES; i++) { 400 for (i = 0; i < MAX_NUMNODES; i++) {
401 cutoff_node(i, start, end); 401 cutoff_node(i, start, end);
402 if ((nodes[i].end - nodes[i].start) < NODE_MIN_SIZE) 402 if ((nodes[i].end - nodes[i].start) < NODE_MIN_SIZE) {
403 unparse_node(i); 403 unparse_node(i);
404 node_set_offline(i);
405 }
404 } 406 }
405 407
406 if (acpi_numa <= 0) 408 if (acpi_numa <= 0)