Re: [PATCH] x86: make generic arch support NUMAQ v2

From: Yinghai Lu
Date: Thu Jun 05 2008 - 20:55:00 EST


On Thu, Jun 5, 2008 at 5:14 PM, Yinghai Lu <yhlu.kernel@xxxxxxxxx> wrote:
>
> so it could fallback to normal numa.
>
> NUMAQ depends on GENERICARCH
>
> also decouple genericarch numa with acpi.
>
> Signed-off-by: Yinghai Lu <yhlu.kernel@xxxxxxxxx>
>
> Index: linux-2.6/arch/x86/Kconfig
> ===================================================================
> --- linux-2.6.orig/arch/x86/Kconfig
> +++ linux-2.6/arch/x86/Kconfig
> @@ -264,17 +264,6 @@ config X86_VOYAGER
> If you do not specifically know you have a Voyager based machine,
> say N here, otherwise the kernel you build will not be bootable.
>
> -config X86_NUMAQ
> - bool "NUMAQ (IBM/Sequent)"
> - depends on SMP && X86_32 && PCI
> - select NUMA
> - help
> - This option is used for getting Linux to run on a (IBM/Sequent) NUMA
> - multiquad box. This changes the way that processors are bootstrapped,
> - and uses Clustered Logical APIC addressing mode instead of Flat Logical.
> - You will need a new lynxer.elf file to flash your firmware with - send
> - email to <Martin.Bligh@xxxxxxxxxx>.
> -
> config X86_SUMMIT
> bool "Summit/EXA (IBM x440)"
> depends on X86_32 && SMP
> @@ -307,12 +296,12 @@ config X86_VISWS
> and vice versa. See <file:Documentation/sgi-visws.txt> for details.
>
> config X86_GENERICARCH
> - bool "Generic architecture (Summit, bigsmp, ES7000, default)"
> + bool "Generic architecture (NUMAQ, Summit, bigsmp, ES7000, default)"
> depends on X86_32
> help
> - This option compiles in the Summit, bigsmp, ES7000, default subarchitectures.
> - It is intended for a generic binary kernel.
> - If you want a NUMA kernel, select ACPI. We need SRAT for NUMA.
> + This option compiles in the NUMAQ, Summit, bigsmp, ES7000, default
> + subarchitectures. It is intended for a generic binary kernel.
> + You need enable NUMA, otherwise NUMAQ is skipped.
>
> config X86_ES7000
> bool "Support for Unisys ES7000 IA32 series"
> @@ -348,6 +337,17 @@ config X86_VSMP
>
> endchoice
>
> +config X86_NUMAQ
> + bool "NUMAQ (IBM/Sequent)"
> + depends on SMP && X86_32 && PCI && X86_GENERICARCH
> + select NUMA
> + help
> + This option is used for getting Linux to run on a NUMAQ (IBM/Sequent)
> + NUMA multiquad box. This changes the way that processors are
> + bootstrapped, and uses Clustered Logical APIC addressing mode instead
> + of Flat Logical. You will need a new lynxer.elf file to flash your
> + firmware with - send email to <Martin.Bligh@xxxxxxxxxx>.
> +
> config SCHED_NO_NO_OMIT_FRAME_POINTER
> def_bool y
> prompt "Single-depth WCHAN output"
> @@ -908,9 +908,9 @@ config X86_PAE
> config NUMA
> bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)"
> depends on SMP
> - depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI) && EXPERIMENTAL)
> + depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_GENERICARCH || X86_SUMMIT && ACPI) && EXPERIMENTAL)
> default n if X86_PC
> - default y if (X86_NUMAQ || X86_SUMMIT)
> + default y if (X86_NUMAQ || X86_SUMMIT || X86_GENERICARCH)
> help
> Enable NUMA (Non Uniform Memory Access) support.
> The kernel will try to allocate memory used by a CPU on the

Sam,

now NUMAQ depends on GENERICARCH.

and Ingo want to make oldconfig to migration NUMAQ....to select GENERICARCH...

but if i add select X86_GENERICARCH, make oldconfig will get

> make ARCH=i386 oldconfig
scripts/kconfig/conf -o arch/x86/Kconfig
arch/x86/Kconfig:299:error: found recursive dependency:
X86_GENERICARCH -> X86_NUMAQ -> X86_GENERICARCH -> <choice>
make[1]: *** [oldconfig] Error 1
make: *** [oldconfig] Error 2

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