sparc64: On non-Niagara, need to touch NMI watchdog in NOHZ mode.
authorDavid S. Miller <davem@davemloft.net>
Tue, 3 Feb 2009 05:57:48 +0000 (21:57 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Feb 2009 05:57:48 +0000 (21:57 -0800)
commit802c64b310e5b9dfda6cb50b850b962ed96a9e81
tree5dbb6172dac4647c7489cca35d2d79c8cb3f988c
parente5553a6d04421eec326a629571d696e8e745a0e4
sparc64: On non-Niagara, need to touch NMI watchdog in NOHZ mode.

When we're idling in NOHZ mode, timer interrupts are not running.

Evidence of processing timer interrupts is what the NMI watchdog
uses to determine if the CPU is stuck.

On Niagara, we'll yield the cpu.  This will make the cpu, at
worst, hang out in the hypervisor until an interrupt arrives.
This will prevent the NMI watchdog timer from firing.

However on non-Niagara we just loop executing instructions
which will cause the NMI watchdog to keep firing.  It won't
see timer interrupts happening so it will think the cpu is
stuck.

Fix this by touching the NMI watchdog in the cpu idle loop
on non-Niagara machines.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/kernel/process_64.c