Re: [Patch] x86 : set numa_nodes_parsed atacpi_numa_memory_affinity_init

From: David Rientjes
Date: Thu May 31 2012 - 16:37:50 EST


On Tue, 29 May 2012, Yasuaki Ishimatsu wrote:

> When hot-adding a CPU into my system, the system showed following message
> since node_to_cpumask_map[2] was not allocated memory.
>
> Booting Node 2 Processor 32 APIC 0xc0
> node_to_cpumask_map[2] NULL
> Pid: 0, comm: swapper/32 Tainted: G A 3.3.5-acd #21
> Call Trace:
> [<ffffffff81048845>] debug_cpumask_set_cpu+0x155/0x160
> [<ffffffff8105e28a>] ? add_timer_on+0xaa/0x120
> [<ffffffff8150665f>] numa_add_cpu+0x1e/0x22
> [<ffffffff815020bb>] identify_cpu+0x1df/0x1e4
> [<ffffffff815020d6>] identify_econdary_cpu+0x16/0x1d
> [<ffffffff81504614>] smp_store_cpu_info+0x3c/0x3e
> [<ffffffff81505263>] smp_callin+0x139/0x1be
> [<ffffffff815052fb>] start_secondary+0x13/0xeb
>
> In my investigation, the root cause is that the bit of node 2 was not set at
> numa_nodes_parsed since hot-added cpu was not written in ACPI SRAT Table.
> But hot-added memory which is same PXM as the cpu is written in here.
>
> ACPI Spec Rev 5.0 says about ACPI SRAT talbe as follows:
> This optional table provides information that allows OSPM to associate
> processors and memory ranges, including ranges of memory provided by
> hot-added memory devices, with system localities / proximity domains
> and clock domains.
>
> So I think the ACPI SRAT Table is not wrong. Thus numa_nodes_parsed should be set
> by not only acpi_numa_processor_affinity_init / acpi_numa_x2apic_affinity_init
> but also acpi_numa_memory_affinity_init for the case.
>
> Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx>

Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
--
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/