linux-stable/arch
Thomas Gleixner 8b5a0f957c x86/smpboot: Enable split CPU startup
The x86 CPU bringup state currently does AP wake-up, wait for AP to
respond and then release it for full bringup.

It is safe to be split into a wake-up and and a separate wait+release
state.

Provide the required functions and enable the split CPU bringup, which
prepares for parallel bringup, where the bringup of the non-boot CPUs takes
two iterations: One to prepare and wake all APs and the second to wait and
release them. Depending on timing this can eliminate the wait time
completely.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Michael Kelley <mikelley@microsoft.com>
Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>
Tested-by: Helge Deller <deller@gmx.de> # parisc
Tested-by: Guilherme G. Piccoli <gpiccoli@igalia.com> # Steam Deck
Link: https://lore.kernel.org/r/20230512205257.133453992@linutronix.de
2023-05-15 13:45:01 +02:00
..
alpha Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
arc Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
arm ARM: smp: Switch to hotplug core state synchronization 2023-05-15 13:44:57 +02:00
arm64 arm64: smp: Switch to hotplug core state synchronization 2023-05-15 13:44:57 +02:00
csky csky/smp: Switch to hotplug core state synchronization 2023-05-15 13:44:58 +02:00
hexagon Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
ia64 Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
loongarch Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
m68k Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
microblaze
mips MIPS: SMP_CPS: Switch to hotplug core state synchronization 2023-05-15 13:44:58 +02:00
nios2 - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
openrisc Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
parisc parisc: Switch to hotplug core state synchronization 2023-05-15 13:44:59 +02:00
powerpc Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
riscv riscv: Switch to hotplug core state synchronization 2023-05-15 13:44:59 +02:00
s390 s390: remove the unneeded select GCC12_NO_ARRAY_BOUNDS 2023-05-05 18:56:23 -07:00
sh Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
sparc Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
um This pull request contains the following changes for UML: 2023-05-03 19:02:03 -07:00
x86 x86/smpboot: Enable split CPU startup 2023-05-15 13:45:01 +02:00
xtensa Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
.gitignore
Kconfig cpu/hotplug: Provide a split up CPUHP_BRINGUP mechanism 2023-05-15 13:45:01 +02:00