summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/head64.S
diff options
context:
space:
mode:
authorJan Glauber <jang@linux.vnet.ibm.com>2011-07-24 10:48:27 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2011-07-24 10:48:22 +0200
commit89c9b66b104549a8698e412bf6f4140c1d0786fb (patch)
treed7c62f412b1e99b2ebb5d37e8f86539b7dc03d9d /arch/s390/kernel/head64.S
parent9e280f6693083baf1b7741c2b820be8d4109509e (diff)
downloadop-kernel-dev-89c9b66b104549a8698e412bf6f4140c1d0786fb.zip
op-kernel-dev-89c9b66b104549a8698e412bf6f4140c1d0786fb.tar.gz
[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>
Diffstat (limited to 'arch/s390/kernel/head64.S')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud