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
..
Makefile [SPARC64]: Add LDOM virtual channel driver and VIO device layer. 2007-07-16 04:03:18 -07:00
asm-offsets.c
audit.c [PATCH] audit signal recipients 2007-05-11 05:38:25 -04:00
auxio.c Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
binfmt_aout32.c [PATCH] struct path: convert sparc64 2006-12-08 08:28:50 -08:00
binfmt_elf32.c [PATCH] elf: Always define elf_addr_t in linux/elf.h 2006-12-07 08:39:38 -08:00
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 Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
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 Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
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 [PATCH] nsproxy: move init_nsproxy into kernel/nsproxy.c 2006-10-02 07:57:20 -07:00
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
mdesc.c [SPARC64]: Fix {mc,smt}_capable(). 2007-06-04 21:50:05 -07:00
module.c [SPARC]: Handle UNWIND_INFO properly. 2006-05-12 12:45:50 -07:00
of_device.c [SPARC64]: Handle PCI bridges without 'ranges' property. 2007-06-07 21:59:44 -07:00
pci.c PCI: read revision ID by default 2007-07-11 16:02:09 -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.c [SPARC64]: Negotiate hypervisor API for PCI services. 2007-05-29 02:49:34 -07:00
pci_sun4v.h [SPARC64]: Add PCI MSI support on Niagara. 2007-02-10 23:50:37 -08:00
pci_sun4v_asm.S [SPARC64]: Add PCI MSI support on Niagara. 2007-02-10 23:50:37 -08: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 [SPARC{32,64}]: Propagate ptrace_traceme() return value. 2006-12-10 02:40:27 -08:00
rtrap.S [SPARC64]: Add irqtrace/stacktrace/lockdep support. 2006-12-10 02:39:09 -08:00
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
signal.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
signal32.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 [SPARC64]: Kill starfire_cookie from SBUS/PCI. 2006-06-29 16:37:08 -07:00
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 [SPARC64]: Set g4/g5 properly in sun4v dtlb-prot handling. 2007-01-26 18:56:01 -08:00
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_sparc.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
sys_sparc32.c [SPARC]: Wire up utimensat syscall. 2007-05-08 17:50:14 -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 [SPARC64]: Call do_mathemu on illegal instruction traps too. 2006-12-10 02:39:32 -08:00
vmlinux.lds.S sparc64: fix alignment bug in linker definition script 2007-05-29 21:29:00 +02:00
winfixup.S