[PATCH 0/9] BSP or CPU0 online/offline

From: Fenghua Yu
Date: Fri Nov 04 2011 - 18:21:36 EST


From: Fenghua Yu <fenghua.yu@xxxxxxxxx>

BSP or CPU0 has been the last obstacle to CPU hotplug on x86. This patch set
implements BSP online and offline and removes this obstacle to CPU hotplug.

RAS needs the feature. If socket0 needs to be hotplugged for any reason (any
thread on socket0 is bad, shared cache issue, uncore issue, etc), CPU0 is
required to be offline or hot replaced to keep the system run.

Fenghua Yu (9):
include/linux/cpu.h: Define architecture dependent cpu map update and
state check functions
kernel/cpu.c: Add arch dependent cpu map update functions
x86/i387.c: Thread xstate is initialized only on BSP once
x86/common.c: Init BSP data during BSP online
x86/mtrr/main.c: Ask the first online CPU to save mtrr
kernel/power/suspend.c,hibernate.c: Don't hibernate/suspend if CPU0
is offline
x86/topology.c: Support functions for BSP online/offline
x86/smpboot.c: Don't offline BSP if any irq can not be migrated out
of it
Documentations/cpu-hotplug.tx, kernel-parameters.txt: Add x86 CPU0
online/offline feature

Documentation/cpu-hotplug.txt | 19 +++++++++++++++
Documentation/kernel-parameters.txt | 13 ++++++++++
arch/x86/include/asm/processor.h | 1 +
arch/x86/kernel/cpu/common.c | 13 ++++++++--
arch/x86/kernel/cpu/mtrr/main.c | 9 +++++-
arch/x86/kernel/i387.c | 9 ++++++-
arch/x86/kernel/smpboot.c | 43 ++++++++++++++++++++++++++++-----
arch/x86/kernel/topology.c | 44 +++++++++++++++++++++++++++++-----
include/linux/cpu.h | 6 ++++
kernel/cpu.c | 12 +++++++++
kernel/power/hibernate.c | 5 ++++
kernel/power/main.c | 5 ++++
kernel/power/suspend.c | 4 +++
13 files changed, 163 insertions(+), 20 deletions(-)

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