Re: 2.6.17-rc1-mm1: KEXEC became SMP-only

From: Zachary Amsden
Date: Tue Apr 04 2006 - 13:37:34 EST


Adrian Bunk wrote:
On Tue, Apr 04, 2006 at 01:45:04AM -0700, Andrew Morton wrote:
...
Changes since 2.6.16-mm2:
...
+x86-clean-up-subarch-definitions.patch
...
x86 updates.
...

The following looks bogus:

config KEXEC
bool "kexec system call (EXPERIMENTAL)"
- depends on EXPERIMENTAL
+ depends on EXPERIMENTAL && (!X86_VOYAGER && SMP)

The dependencies do now say that KEXEC is only offered for machines that are _both_ non-Voyager and SMP.

Is the problem you wanted to express that a non-SMP Voyager config didn't compile?

Whoops, that should be

depends on EXPERIMENTAL && !(X86_VOYAGER && SMP)

Voyager SMP builds don't compile with kexec(), and it isn't clear how to shootdown CPUs using NMIs without an APIC. Signed-off-by: Zachary Amsden <zach@xxxxxxxxxx>

Index: linux-2.6.16.1/arch/i386/Kconfig
===================================================================
--- linux-2.6.16.1.orig/arch/i386/Kconfig 2006-04-03 12:37:11.000000000 -0700
+++ linux-2.6.16.1/arch/i386/Kconfig 2006-04-04 10:18:25.000000000 -0700
@@ -813,7 +813,7 @@ source kernel/Kconfig.hz

config KEXEC
bool "kexec system call (EXPERIMENTAL)"
- depends on EXPERIMENTAL && (!X86_VOYAGER && SMP)
+ depends on EXPERIMENTAL && !(X86_VOYAGER && SMP)
help
kexec is a system call that implements the ability to shutdown your
current kernel, and to start another kernel. It is like a reboot