summaryrefslogtreecommitdiff
path: root/mm/memblock.c
diff options
context:
space:
mode:
authorJames Morse <james.morse@arm.com>2016-06-22 09:06:12 (GMT)
committerCatalin Marinas <catalin.marinas@arm.com>2016-06-27 15:24:51 (GMT)
commitb69e0dc14ce3c4abbd11725ff98a885d4616f9fe (patch)
treea3ef54f76d88dfd7632f2a6504ef4aeb7242b5fd /mm/memblock.c
parentd770b5a04790a4ec1c0864621eef95f5afe773cf (diff)
downloadlinux-b69e0dc14ce3c4abbd11725ff98a885d4616f9fe.tar.xz
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 <james.morse@arm.com> Acked-by: Mark Rutland <mark.rutland@arm.com> Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> [catalin.marinas@arm.com: cherry-picked from mainline for kexec dependency] Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'mm/memblock.c')
0 files changed, 0 insertions, 0 deletions