[PATCH 0/3] SMP Startup Improvements

From: Matt Redfearn
Date: Fri Nov 04 2016 - 05:29:10 EST

This series improves the startup of SMP processors for MIPS. Firstly,
replace the use of a bitmask of CPUs to detect secondard CPUs starting
with a completion event. This change means that secondary CPUs can fail
to start, and this will be detected and handled rather than hanging the
The second patch removes the now redundant CPU bitmask.
The third patch improves error handling in the CPS SMP implementation.
In an unlikely corner case where no online CPU is available in a core
to start a secondary VPE, previously the kernel would BUG(), this patch
causes a warning to be printed and the situation handled more

This series is based on v4.9-rc1 and has been tested on Boston, Malta,
SEAD3, Octeon and Pistachio Ci40 platforms.

Matt Redfearn (3):
MIPS: smp: Use a completion event to signal CPU up
MIPS: smp: Remove cpu_callin_map
MIPS: smp-cps: Don't BUG if a CPU fails to start

arch/mips/cavium-octeon/smp.c | 1 -
arch/mips/include/asm/smp.h | 2 --
arch/mips/kernel/process.c | 4 +---
arch/mips/kernel/smp-bmips.c | 1 -
arch/mips/kernel/smp-cps.c | 7 +++++--
arch/mips/kernel/smp.c | 17 +++++++++--------
arch/mips/loongson64/loongson-3/smp.c | 1 -
7 files changed, 15 insertions(+), 18 deletions(-)