]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc: allow soft-NMI watchdog to cover timer interrupts with large decrementers
authorNicholas Piggin <npiggin@gmail.com>
Fri, 4 May 2018 17:19:32 +0000 (03:19 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Sun, 3 Jun 2018 10:40:28 +0000 (20:40 +1000)
commit2591d8a47c3177b2d089cd0a3292247d92fbb157
treec5477bfbf053fa2e521592d8418151e799b96df1
parent96b2b801d9840f06dac6bf970e9062842cba3808
powerpc: allow soft-NMI watchdog to cover timer interrupts with large decrementers

Large decrementers (e.g., POWER9) can take a very long time to wrap,
so when the timer iterrupt handler sets the decrementer to max so as
to avoid taking another decrementer interrupt when hard enabling
interrupts before running timers, it effectively disables the soft
NMI coverage for timer interrupts.

Fix this by using the traditional 31-bit value instead, which wraps
after a few seconds. masked interrupt code does the same thing, and
in normal operation neither of these paths would ever wrap even the
31 bit value.

Note: the SMP watchdog should catch timer interrupt lockups, but it
is preferable for the local soft-NMI to catch them, mainly to avoid
the IPI.

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