Clear more state when ignoring empty node in SRAT parsing Might fix boot failures on systems with empty PXMs in SRAT Signed-off-by: Andi Kleen Index: linux/arch/x86_64/mm/srat.c =================================================================== --- linux.orig/arch/x86_64/mm/srat.c +++ linux/arch/x86_64/mm/srat.c @@ -223,6 +223,16 @@ static int nodes_cover_memory(void) return 1; } +static void unparse_node(int node) +{ + int i; + node_clear(node, nodes_parsed); + for (i = 0; i < MAX_LOCAL_APIC; i++) { + if (apicid_to_node[i] == node) + apicid_to_node[i] = NUMA_NO_NODE; + } +} + void __init acpi_numa_arch_fixup(void) {} /* Use the information discovered above to actually set up the nodes. */ @@ -237,7 +247,7 @@ int __init acpi_scan_nodes(unsigned long for_each_node_mask(i, nodes_parsed) { cutoff_node(i, start, end); if (nodes[i].start == nodes[i].end) - node_clear(i, nodes_parsed); + unparse_node(i); } if (!nodes_cover_memory()) {