aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/booke.c
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2018-04-27 11:51:59 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2018-04-27 16:35:57 +1000
commit6029755eed95e5c90f763188c87ae3ff41e48e5c (patch)
tree912e2106089759f15a24f1e2f5bf384946c42878 /arch/powerpc/kvm/booke.c
parentcpufreq: powernv: Fix hardlockup due to synchronous smp_call in timer interrupt (diff)
downloadlinux-dev-6029755eed95e5c90f763188c87ae3ff41e48e5c.tar.xz
linux-dev-6029755eed95e5c90f763188c87ae3ff41e48e5c.zip
powerpc: Fix deadlock with multiple calls to smp_send_stop
smp_send_stop can lock up the IPI path for any subsequent calls, because the receiving CPUs spin in their handler function. This started becoming a problem with the addition of an smp_send_stop call in the reboot path, because panics can reboot after doing their own smp_send_stop. The NMI IPI variant was fixed with ac61c11566 ("powerpc: Fix smp_send_stop NMI IPI handling"), which leaves the smp_call_function variant. This is fixed by having smp_send_stop only ever do the smp_call_function once. This is a bit less robust than the NMI IPI fix, because any other call to smp_call_function after smp_send_stop could deadlock, but that has always been the case, and it was not been a problem before. Fixes: f2748bdfe1573 ("powerpc/powernv: Always stop secondaries before reboot/shutdown") Reported-by: Abdul Haleem <abdhalee@linux.vnet.ibm.com> Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kvm/booke.c')
0 files changed, 0 insertions, 0 deletions