Re: Linux v2.6.16

From: Ashok Raj
Date: Wed Mar 22 2006 - 08:06:27 EST


On Tue, Mar 21, 2006 at 10:31:20PM -0800, Ashok Raj wrote:
> On Tue, Mar 21, 2006 at 09:22:41PM -0800, Peter Williams wrote:
> >
> > I/O APICs
> > Mar 22 16:10:31 heathwren kernel: More than 8 CPUs detected and
> > CONFIG_X86_PC cannot handle it.
> >
> > ### No more CPUs seen but something in there thinks there's more than
> > 8
> > of them.
> >
> > Mar 22 16:10:31 heathwren kernel: Use CONFIG_X86_GENERICARCH or
> > CONFIG_X86_BIGSMP.
> >
>
>

Hi Andrew

Please consider for inclusion... resending with changelog per Andrew.


--
Cheers,
Ashok Raj
- Open Source Technology Center


This patch makes CONFIG_HOTPLUG_CPU depend on !X86_PC, so we need to turn on
either CONFIG_GENERICARCH, CONFIG_BIGSMP or any other subarch except X86_PC when
CONFIG_HOTPLUG_CPU=y

With 2.6.15+ kernels when CONFIG_HOTPLUG_CPU is turned on we switch to bigsmp mode for
sending IPI's and ioapic configurations that caused the following error message.

>> More than 8 CPUs detected and CONFIG_X86_PC cannot handle it.
>> Use CONFIG_X86_GENERICARCH or CONFIG_X86_BIGSMP.

Originally bigsmp was added just to handle >8 cpus, but now with hotplug cpu support
we need to use bigsmp mode (why? see below), that cause the above error message even
if there were less than 8 cpus in the system.

The message is bogus, but we are cannot use logical flat mode due to issues with
broadcast IPI can confuse a CPU just comming up. We use flat physical mode just like x86_64
case. More details on why bigsmp now uses flat physical mode (vs. cluster mode)
in following link.

http://marc.theaimsgroup.com/?l=linux-kernel&m=113261865814107&w=2


Signed-off-by: Ashok Raj <ashok.raj@xxxxxxxxx>
---------------------------------------------------------

arch/i386/Kconfig | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6.16-rc6-mm1/arch/i386/Kconfig
===================================================================
--- linux-2.6.16-rc6-mm1.orig/arch/i386/Kconfig
+++ linux-2.6.16-rc6-mm1/arch/i386/Kconfig
@@ -760,7 +760,7 @@ config PHYSICAL_START

config HOTPLUG_CPU
bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
- depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER
+ depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER && !X86_PC
---help---
Say Y here to experiment with turning CPUs off and on. CPUs
can be controlled through /sys/devices/system/cpu.
-
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/