Re: ACPI and NUMA guys, please help to check if this patch is OK

From: David Rientjes
Date: Tue Nov 13 2012 - 03:27:51 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/