diff options
author | James Morse <[email protected]> | 2016-06-22 10:06:12 +0100 |
---|---|---|
committer | Will Deacon <[email protected]> | 2016-06-22 15:48:09 +0100 |
commit | 5c492c3f5255bd34f7ff8867515ecf98dcba2a2e (patch) | |
tree | eea6ba5d5f8b8ef37f6218bda83c03e081d95e9d /lib/mpi | |
parent | 20c27a4270c775d7ed661491af8ac03264d60fc6 (diff) |
arm64: smp: Add function to determine if cpus are stuck in the kernel
kernel/smp.c has a fancy counter that keeps track of the number of CPUs
it marked as not-present and left in cpu_park_loop(). If there are any
CPUs spinning in here, features like kexec or hibernate may release them
by overwriting this memory.
This problem also occurs on machines using spin-tables to release
secondary cores.
After commit 44dbcc93ab67 ("arm64: Fix behavior of maxcpus=N")
we bring all known cpus into the secondary holding pen, meaning this
memory can't be re-used by kexec or hibernate.
Add a function cpus_are_stuck_in_kernel() to determine if either of these
cases have occurred.
Signed-off-by: James Morse <[email protected]>
Acked-by: Mark Rutland <[email protected]>
Reviewed-by: Suzuki K Poulose <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
Diffstat (limited to 'lib/mpi')
0 files changed, 0 insertions, 0 deletions