linux/arch/sparc64/kernel
David S. Miller 5a606b72a4 [SPARC64]: Do not ACK an INO if it is disabled or inprogress.
This is also a partial workaround for a bug in the LDOM firmware which
double-transmits RX inos during high load.  Without this, such an
event causes the kernel to loop forever in the interrupt call chain
ACK'ing but never actually running the IRQ handler (and thus clearing
the interrupt condition in the device).

There is still a bad potential effect when double INOs occur,
not covered by this changeset.  Namely, if the INO is already on
the per-cpu INO vector list, we still blindly re-insert it and
thus we can end up losing interrupts already linked in after
it.

We could deal with that by traversing the list before insertion,
but that's too expensive for this edge case.

Signed-off-by: David S. Miller <davem@davemloft.net>
2007-07-16 04:04:05 -07:00
..
asm-offsets.c
audit.c [PATCH] audit signal recipients 2007-05-11 05:38:25 -04:00
auxio.c
binfmt_aout32.c
binfmt_elf32.c
central.c [SPARC64]: Fix section mismatch warnings in arch/sparc64/kernel/console.c 2007-05-07 00:00:37 -07:00
chmc.c [SPARC64]: constify of_get_property return: arch/sparc64 2007-04-26 01:54:24 -07:00
compat_audit.c [PATCH] add SIGNAL syscall class (v3) 2007-05-11 05:38:25 -04:00
cpu.c
dtlb_miss.S
dtlb_prot.S
ebus.c [SPARC64]: Kill asm-sparc64/pbm.h 2007-05-08 16:43:08 -07:00
entry.S [SPARC64]: Fix args to sun4v_ldc_revoke(). 2007-06-13 00:01:27 -07:00
etrap.S
head.S [SPARC64]: Fix two bugs wrt. kernel 4MB TSB. 2007-05-29 02:51:38 -07:00
hvapi.c [SPARC64]: Report proper system soft state to the hypervisor. 2007-05-29 02:49:29 -07:00
idprom.c
init_task.c
iommu_common.c
iommu_common.h
irq.c [SPARC64]: Do not ACK an INO if it is disabled or inprogress. 2007-07-16 04:04:05 -07:00
isa.c [SPARC64] isa: Convert to use pci_device_to_OF_node(). 2007-04-26 01:55:05 -07:00
itlb_miss.S [SPARC64]: Fix _PAGE_EXEC_4U check in sun4u I-TLB miss handler. 2007-05-29 02:50:15 -07:00
kprobes.c [SPARC64]: Optimize fault kprobe handling just like powerpc. 2007-05-08 18:25:14 -07:00
ktlb.S [SPARC64]: Get DEBUG_PAGEALLOC working again. 2007-03-16 17:20:28 -07:00
ldc.c [SPARC64]: Add LDOM virtual channel driver and VIO device layer. 2007-07-16 04:03:18 -07:00
Makefile [SPARC64]: Add LDOM virtual channel driver and VIO device layer. 2007-07-16 04:03:18 -07:00
mdesc.c [SPARC64]: Fix {mc,smt}_capable(). 2007-06-04 21:50:05 -07:00
module.c
of_device.c [SPARC64]: Handle PCI bridges without 'ranges' property. 2007-06-07 21:59:44 -07:00
pci_common.c [SPARC64]: Fix IO/MEM space sizing for PCI. 2007-06-13 00:01:19 -07:00
pci_fire.c [SPARC64]: Correct FIRE_IOMMU_FLUSHINV register offset. 2007-05-11 21:39:26 -07:00
pci_impl.h [SPARC64] PCI: Consolidate PCI access code into pci_common.c 2007-05-09 02:35:27 -07:00
pci_iommu.c [SPARC64]: Spelling fixes. 2007-05-11 21:39:21 -07:00
pci_psycho.c [SPARC64] PCI: Consolidate PCI access code into pci_common.c 2007-05-09 02:35:27 -07:00
pci_sabre.c [SPARC64]: Fix 2 bugs in PCI Sabre bus scanning. 2007-06-07 16:59:46 -07:00
pci_schizo.c [SPARC64] PCI: Consolidate PCI access code into pci_common.c 2007-05-09 02:35:27 -07:00
pci_sun4v_asm.S
pci_sun4v.c [SPARC64]: Negotiate hypervisor API for PCI services. 2007-05-29 02:49:34 -07:00
pci_sun4v.h
pci.c PCI: read revision ID by default 2007-07-11 16:02:09 -07:00
power.c [SPARC64]: Report proper system soft state to the hypervisor. 2007-05-29 02:49:29 -07:00
process.c [SPARC64]: Report proper system soft state to the hypervisor. 2007-05-29 02:49:29 -07:00
prom.c [SPARC64]: Fix SBUS IRQ regression caused by PCI-E driver. 2007-06-07 16:59:51 -07:00
ptrace.c
rtrap.S
sbus.c [SPARC64]: Fix SBUS IRQ regression caused by PCI-E driver. 2007-06-07 16:59:51 -07:00
semaphore.c
setup.c [SPARC64]: Move topology init code into new file, sysfs.c 2007-06-04 21:49:50 -07:00
signal32.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
signal.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
smp.c sched: zap the migration init / cache-hot balancing code 2007-07-09 18:51:57 +02:00
sparc64_ksyms.c [SPARC64]: Include <linux/rwsem.h> instead of <asm/rwsem.h>. 2007-06-07 20:24:50 -07:00
sstate.c [SPARC64]: Report proper system soft state to the hypervisor. 2007-05-29 02:49:29 -07:00
stacktrace.c simplify the stacktrace code 2007-05-08 11:14:58 -07:00
starfire.c
sun4v_ivec.S [SPARC64]: Use machine description and OBP properly for cpu probing. 2007-05-29 02:49:41 -07:00
sun4v_tlb_miss.S
sunos_ioctl32.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
sys32.S [SPARC64]: Fix arg passing to compat_sys_ipc(). 2007-04-13 13:27:08 -07:00
sys_sparc32.c [SPARC]: Wire up utimensat syscall. 2007-05-08 17:50:14 -07:00
sys_sparc.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
sys_sunos32.c [SPARC]: avoid CHILD_MAX and OPEN_MAX constants 2007-04-12 13:13:42 -07:00
sysfs.c [SPARC64]: Provide mmu statistics via sysfs. 2007-06-04 21:49:57 -07:00
systbls.S [SPARC]: Wire up signalfd/timerfd/eventfd syscalls. 2007-05-11 22:06:51 -07:00
time.c [SPARC64]: Fill holes in hypervisor APIs and fix KTSB registry. 2007-05-29 02:52:15 -07:00
trampoline.S
traps.c [SPARC64]: Use machine description and OBP properly for cpu probing. 2007-05-29 02:49:41 -07:00
tsb.S [SPARC64]: store-init needs trailing membar. 2007-03-19 13:27:33 -07:00
ttable.S [SPARC64]: Unify timer interrupt handler. 2007-04-26 01:54:11 -07:00
una_asm.S
unaligned.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
us2e_cpufreq.c
us3_cpufreq.c
vio.c [SPARC64]: Add LDOM virtual channel driver and VIO device layer. 2007-07-16 04:03:18 -07:00
viohs.c [SPARC64]: Add LDOM virtual channel driver and VIO device layer. 2007-07-16 04:03:18 -07:00
visemul.c
vmlinux.lds.S sparc64: fix alignment bug in linker definition script 2007-05-29 21:29:00 +02:00
winfixup.S