Re: [PATCH 2/3] Add multi-node boot support

From: Ingo Molnar
Date: Thu Oct 27 2011 - 03:32:02 EST



* Daniel J Blueman <daniel@xxxxxxxxxxxxxxxxxx> wrote:

> From: Steffen Persvold <sp@xxxxxxxxxxxxx>
>
> From: Steffen Persvold <sp@xxxxxxxxxxxxx>
>
> Fix booting multi-node systems with Numascale's NumaChip.
>
> v2:
> - [Daniel] rediffed and validated against 3.1-rc10
>
> Signed-off-by: Steffen Persvold <sp@xxxxxxxxxxxxx>
> Signed-off-by: Daniel J Blueman <daniel@xxxxxxxxxxxxxxxxxx>
> ---
> arch/x86/kernel/cpu/amd.c | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
> index b13ed39..4b551f5 100644
> --- a/arch/x86/kernel/cpu/amd.c
> +++ b/arch/x86/kernel/cpu/amd.c
> @@ -7,6 +7,7 @@
> #include <asm/apic.h>
> #include <asm/cpu.h>
> #include <asm/pci-direct.h>
> +#include <asm/numachip/numachip.h>
>
> #ifdef CONFIG_X86_64
> # include <asm/numa_64.h>
> @@ -350,6 +351,12 @@ static void __cpuinit srat_detect_node(struct cpuinfo_x86 *c)
> node = numa_cpu_node(cpu);
> if (node == NUMA_NO_NODE)
> node = per_cpu(cpu_llc_id, cpu);
> + else if (is_numachip_system()) {
> + /* fix for multi-node systems: set phys_proc_id and cpu_llc_id
> + to node number from ACPI SRAT table */

please use the customary (multi-line) comment style:

/*
* Comment .....
* ...... goes here.
*/

specified in Documentation/CodingStyle.

> + c->phys_proc_id = node;
> + per_cpu(cpu_llc_id, cpu) = node;
> + }

But more importantly, please first explain why the quirk is needed
(the patch only explains what it does but does not explain why it
needs these changes - other NUMA systems are able to boot without
this quirk).

If it's absolutely needed then add a proper quirk handler instead of
polluting the generic code.

Thanks,

Ingo
--
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/