On Tue, 13 Nov 2012, Ethan Zhao wrote: > diff --git a/drivers/acpi/numa.c b/drivers/acpi/numa.c > index e56f3be..55c8a8e 100644 > --- a/drivers/acpi/numa.c > +++ b/drivers/acpi/numa.c > @@ -161,6 +161,13 @@ static __init int slit_valid(struct acpi_table_slit > *slit) > { > int i, j; > int d = slit->locality_count; > + int pxd = nodes_weight(nodes_found_map); > + if (pxd != d) { > + printk(KERN_INFO "ACPI: BIOS bug! SLIT localities > count %d doesn't equal SRAT proximity domains number %d\n", > + d , pxd); > + return 0; > + } > + > for (i = 0; i < d; i++) { > for (j = 0; j < d; j++) { > u8 val = slit->entry[d*i + j];
This is incorrect: the SLIT locality count comes straight from the BIOS whereas the maximum number of nodes the kernel supports is defined by CONFIG_NODES_SHIFT. If this patch were to be merged, the SLIT is invalidated when CONFIG_NODES_SHIFT is too low whereas today we respect the proximity of nodes that can be onlined which is a regression. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/