aha/arch/sparc/kernel
David S. Miller 802c64b310 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>
2009-02-02 21:57:48 -08:00
..
.gitignore sparc: gitignore a few files 2008-12-04 09:17:15 -08:00
apc.c sparc: correct section of apc_no_idle 2008-10-22 21:53:43 -07:00
asm-offsets.c sparc,sparc64: unify asm-offsets.c 2008-12-04 09:17:12 -08:00
audit.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
auxio_32.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
auxio_64.c sparc64: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:20 -08:00
central.c sparc64: Initialize FHC/CLOCK LED platform_device 'id' field correctly. 2009-01-19 13:27:15 -08:00
cherrs.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
chmc.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
compat_audit.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
cpu.c sparc: Probe PMU type and record in sparc_pmu_type. 2009-01-28 17:27:14 -08:00
devices.c sparc: drop CONFIG_SUN_AUXIO 2008-12-04 13:26:31 -08:00
dma.c sparc32: Implement more generic dma_*() interfaces. 2008-08-29 02:13:14 -07:00
dma.h sparc32: Implement more generic dma_*() interfaces. 2008-08-29 02:13:14 -07:00
ds.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
dtlb_miss.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
dtlb_prot.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ebus.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
entry.h sparc: fix sparse warnings in irq_32.c 2008-12-08 01:08:24 -08:00
entry.S [CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2 2009-01-14 14:15:15 +01:00
etrap_32.S sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
etrap_64.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
fpu_traps.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ftrace.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
getsetcc.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
head_32.S sparc: unify sections.h 2008-12-27 00:35:12 -08:00
head_64.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
helpers.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
hvapi.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
hvcalls.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
hvtramp.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
idprom.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
init_task.c take init_fs to saner place 2008-12-31 18:07:42 -05:00
iommu.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
iommu_common.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ioport.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
irq.h sparc32: Kill clear_profile_irq btfixup entry. 2008-09-19 21:17:59 -07:00
irq_32.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
irq_64.c sparc64: Implement NMI watchdog on capable cpus. 2009-01-30 00:03:53 -08:00
itlb_miss.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ivec.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
kernel.h sparc: Probe PMU type and record in sparc_pmu_type. 2009-01-28 17:27:14 -08:00
kgdb_32.c sparc: add '32' suffix to reg_window, sigcontext, __siginfo_t 2009-01-02 19:32:59 -08:00
kgdb_64.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
kprobes.c trivial: fix then -> than typos in comments and documentation 2009-01-06 11:28:06 +01:00
kstack.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ktlb.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ldc.c sparc: make proces_ver_nack a bit more readable 2009-01-06 10:23:22 -08:00
led.c sparc: switch /proc/led to seq_file 2008-06-03 15:21:21 -07:00
Makefile sparc64: Implement NMI watchdog on capable cpus. 2009-01-30 00:03:53 -08:00
mdesc.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
misctrap.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
module.c sparc: unify module.c 2008-12-26 15:38:17 -08:00
muldiv.c sparc: add '32' suffix to reg_window, sigcontext, __siginfo_t 2009-01-02 19:32:59 -08:00
nmi.c sparc64: Implement NMI watchdog on capable cpus. 2009-01-30 00:03:53 -08:00
of_device_32.c sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
of_device_64.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
pci.c sparc64: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:20 -08:00
pci_common.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
pci_fire.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
pci_impl.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
pci_msi.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
pci_psycho.c sparc: Kill bogus comment about IRQF_SHARED in pci_psycho.c 2009-01-02 19:12:46 -08:00
pci_sabre.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
pci_schizo.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
pci_sun4v.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
pci_sun4v.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
pci_sun4v_asm.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
pcic.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
pcr.c sparc64: Implement NMI watchdog on capable cpus. 2009-01-30 00:03:53 -08:00
pmc.c sparc: fix trivial style issues in kernel/pmc.c 2008-12-08 01:02:55 -08:00
power.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
process_32.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
process_64.c sparc64: On non-Niagara, need to touch NMI watchdog in NOHZ mode. 2009-02-02 21:57:48 -08:00
prom.h sparc: Restore irq_trans_init() call in prom_create_node(). 2008-12-07 00:46:33 -08:00
prom_32.c sparc: Restore irq_trans_init() call in prom_create_node(). 2008-12-07 00:46:33 -08:00
prom_64.c sparc: Move of_console_{device,path,options} info prom_common.c 2008-12-05 18:17:08 -08:00
prom_common.c sparc: Clean arch-specific code in prom_common.c 2009-01-05 00:07:18 -08:00
prom_irqtrans.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
psycho_common.c sparc64: fix warnings in psycho_common after ull conversion 2009-01-08 11:37:19 -08:00
psycho_common.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ptrace_32.c sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
ptrace_64.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
reboot.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
rtrap_32.S sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
rtrap_64.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sbus.c sparc64: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:20 -08:00
setup_32.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
setup_64.c sparc: Probe PMU type and record in sparc_pmu_type. 2009-01-28 17:27:14 -08:00
signal32.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
signal_32.c sparc: add '32' suffix to reg_window, sigcontext, __siginfo_t 2009-01-02 19:32:59 -08:00
signal_64.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
smp_32.c Merge branch 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-01-02 11:44:09 -08:00
smp_64.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
sparc_ksyms_32.c sparc: Eliminate PROMLIB_INTERNAL as it does nothing 2009-01-08 16:59:01 -08:00
sparc_ksyms_64.c sparc64: Fix UP build failure. 2009-01-13 17:38:24 -08:00
spiterrs.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sstate.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
stacktrace.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
starfire.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sun4c_irq.c sparc: Add missing of_node_put 2008-12-04 09:17:22 -08:00
sun4d_irq.c sparc: fix sparse warnings in irq_32.c 2008-12-08 01:08:24 -08:00
sun4d_smp.c sparc: Fix sun4d_irq.c build. 2009-01-08 16:47:17 -08:00
sun4m_irq.c sparc: Add missing of_node_put 2008-12-04 09:17:22 -08:00
sun4m_smp.c generic swap(): sparc: rename swap() to swap_ulong() 2009-01-08 08:31:14 -08:00
sun4v_ivec.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sun4v_tlb_miss.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sys32.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sys_sparc32.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sys_sparc_32.c sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
sys_sparc_64.c sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx() 2009-01-19 21:11:27 -08:00
syscalls.S sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx() 2009-01-19 21:11:27 -08:00
sysfs.c sparc: fix hardirq.h removal fallout 2008-12-26 15:33:07 -08:00
systbls.h sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx() 2009-01-19 21:11:27 -08:00
systbls_32.S [CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2 2009-01-14 14:15:15 +01:00
systbls_64.S sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx() 2009-01-19 21:11:27 -08:00
tadpole.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tick14.c sparc32: Delete claim_ticker14(). 2008-09-19 21:18:01 -07:00
time_32.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
time_64.c sparc64: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:20 -08:00
trampoline_32.S sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
trampoline_64.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
traps_32.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
traps_64.c sparc64: Fix DAX handling via userspace access from kernel. 2009-01-19 22:44:04 -08:00
tsb.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ttable.S sparc64: Move generic PCR support code to seperate file. 2009-01-28 17:13:57 -08:00
una_asm_32.S sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
una_asm_64.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
unaligned_32.c sparc: add '32' suffix to reg_window, sigcontext, __siginfo_t 2009-01-02 19:32:59 -08:00
unaligned_64.c sparc: Most unaligned_64.c tweaks for branch tracer warnings. 2009-01-08 16:52:36 -08:00
us2e_cpufreq.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
us3_cpufreq.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
utrap.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
vio.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
viohs.c sparc64: refactor code in viohs.c 2009-01-06 12:46:46 -08:00
visemul.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
vmlinux.lds.S sparc: unify sections.h 2008-12-27 00:35:12 -08:00
windows.c sparc: add '32' suffix to reg_window, sigcontext, __siginfo_t 2009-01-02 19:32:59 -08:00
winfixup.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
wof.S sparc/kernel/: possible cleanups 2008-07-17 21:37:46 -07:00
wuf.S sparc/kernel/: possible cleanups 2008-07-17 21:37:46 -07:00