]> asedeno.scripts.mit.edu Git - linux.git/commit
powerpc: NMI IPI make NMI IPIs fully sychronous
authorNicholas Piggin <npiggin@gmail.com>
Wed, 25 Apr 2018 05:17:59 +0000 (15:17 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 24 Jul 2018 12:03:14 +0000 (22:03 +1000)
commit5b73151fff63fb019db8171cb81c6c978533844b
tree61c17b513c864371636878b3d47aede38661632c
parent9b81c0211c249c1bc8caec2ddbc86e36c550ce0f
powerpc: NMI IPI make NMI IPIs fully sychronous

There is an asynchronous aspect to smp_send_nmi_ipi. The caller waits
for all CPUs to call in to the handler, but it does not wait for
completion of the handler. This is a needless complication, so remove
it and always wait synchronously.

The synchronous wait allows the caller to easily time out and clear
the wait for completion (zero nmi_ipi_busy_count) in the case of badly
behaved handlers. This would have prevented the recent smp_send_stop
NMI IPI bug from causing the system to hang.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/smp.h
arch/powerpc/kernel/smp.c
arch/powerpc/kernel/watchdog.c