Re: 2.6.27rc1 cannot boot more than 8CPUs

Jeff Chua
2008-08-06T11:10:22Z

On Wed, Aug 6, 2008 at 5:42 PM, Jeff Chua <jeff.chua.linux@gmail.com>
wrote:
>>> CONFIG_X86_GENERICARCH=y
>>> CONFIG_X86_BIGSMP=y
>>> 8 more cpu need bigsmp mode.

> Just found it under " Subarchitecture Type (Generic architecture)",
> and then it shows the CONFIG_X86_BIGSMP option.

It works. Booted with 16CPUs. 32GB RAM.

CPU0 L7345 1.86GHz 0C
CPU1 L7345 1.86GHz 0C
CPU2 L7345 1.86GHz 0C
CPU3 L7345 1.86GHz 0C
CPU4 L7345 1.86GHz 0C
CPU5 L7345 1.86GHz 0C
CPU6 L7345 1.86GHz 0C
CPU7 L7345 1.86GHz 0C
CPU8 L7345 1.86GHz 0C
CPU9 L7345 1.86GHz 0C
CPU10 L7345 1.86GHz 0C
CPU11 L7345 1.86GHz 0C
CPU12 L7345 1.86GHz 0C
CPU13 L7345 1.86GHz 0C
CPU14 L7345 1.86GHz 0C
CPU15 L7345 1.86GHz 0C

So, but setting the config not obvious. And should CONFIG_X86_PC be
considered as well as CONFIG_X86_GENERICARCH?

With CONFIG_X86_PC, I can set CONFIG_SPARSEMEM=y.

With CONFIG_X86_GENERICARCH, CONFIG_SPARSEMEM depends on CONFIG_NUMA.

I'm using the patch below to enable sparsemem instead of flatmem, but
don't know what impact it has. System booted and running.

It would be nice to automatically default CONFIG_X86_BIGSMP with CPUs > 8.
But I don't know to do that.

Thanks,
Jeff.

--- linux/arch/x86/Kconfig.org 2008-08-06 18:41:08 +0800
+++ linux/arch/x86/Kconfig 2008-08-06 18:48:13 +0800
@@ -1035,7 +1035,7 @@

config ARCH_FLATMEM_ENABLE
def_bool y
- depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && X86_PC && !NUMA
+ depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && !NUMA

config ARCH_DISCONTIGMEM_ENABLE
def_bool y
@@ -1051,7 +1051,7 @@

config ARCH_SPARSEMEM_ENABLE
def_bool y
- depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC)
+ depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) || X86_GENERICARCH
select SPARSEMEM_STATIC if X86_32
select SPARSEMEM_VMEMMAP_ENABLE if X86_64