linux/arch
Jan Glauber 89c9b66b10 [S390] race safe external interrupt registration
The (un-)register_external_interrupt functions are not race safe if
more than one interrupt handler is added or deleted for an external
interrupt concurrently.

Make the registration / unregistration of external interrupts race safe
by using RCU and a spinlock. RCU is used to avoid a performance penalty
in the external interrupt handler, the register and unregister functions
are protected by the spinlock and are not performance critical.
call_rcu must be used since the SCLP driver uses the interface with
IRQs disabled. Also use the generic list implementation rather than
homebrewn list code.

Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2011-07-24 10:48:22 +02:00
..
alpha Merge branch 'timers-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-07-22 16:51:56 -07:00
arm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2011-07-22 19:02:39 -07:00
avr32
blackfin Blackfin: boards: fix pcm device name 2011-07-23 01:18:34 -04:00
cris
frv
h8300 h8300: Use generic config PREEMPT definition 2011-07-05 18:01:15 +02:00
ia64 virtio: expose for non-virtualization users too 2011-07-23 16:20:30 +09:30
m32r m32r: Use generic PREEMPT config 2011-07-05 18:01:15 +02:00
m68k net: m68k/nfeth: Remove wrong usage of dev->flags 2011-07-14 14:38:17 -07:00
microblaze
mips virtio: expose for non-virtualization users too 2011-07-23 16:20:30 +09:30
mn10300 MN10300: asm/uaccess.h needs to #include linux/kernel.h for might_sleep() 2011-06-21 18:31:44 -07:00
parisc Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
powerpc virtio: expose for non-virtualization users too 2011-07-23 16:20:30 +09:30
s390 [S390] race safe external interrupt registration 2011-07-24 10:48:22 +02:00
score
sh virtio: expose for non-virtualization users too 2011-07-23 16:20:30 +09:30
sparc Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-07-22 16:44:39 -07:00
tile virtio: expose for non-virtualization users too 2011-07-23 16:20:30 +09:30
um Merge branches 'x86-urgent-for-linus', 'core-debug-for-linus', 'irq-core-for-linus' and 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-07-23 10:33:08 -07:00
unicore32
x86 Merge branches 'x86-detect-hyper-for-linus', 'x86-fpu-for-linus', 'x86-kexec-for-linus', 'x86-platform-for-linus', 'x86-quirks-for-linus', 'x86-tsc-for-linus' and 'x86-smpboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-07-23 10:38:21 -07:00
xtensa xtensa: Use generic config PREEMPT definition 2011-07-05 18:01:16 +02:00
.gitignore
Kconfig