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

From: Yinghai Lu
Date: Fri Jun 06 2008 - 02:27:18 EST


On Thu, Jun 5, 2008 at 11:17 PM, Sam Ravnborg <sam@xxxxxxxxxxxx> wrote:
> On Thu, Jun 05, 2008 at 05:54:40PM -0700, Yinghai Lu wrote:
>> 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
>
> It is my understanding that special support for NUMAQ should die,
> so the only remaning usage of CONFIG_NUMAQ is if set to select GENERICARCH.
> In other words that you should not use CONFIG_NUMAQ anywhere in the code
> but solely rely on GENERICARCH and then do runtime detection of the
> other things.

in case someone don't want to build that special numaq code in.

I think we should make ES7000, Summit depend to GENERICARCH too.

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/