diff options
author | Jan Glauber <jang@linux.vnet.ibm.com> | 2011-07-24 08:48:27 (GMT) |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2011-07-24 08:48:22 (GMT) |
commit | 89c9b66b104549a8698e412bf6f4140c1d0786fb (patch) | |
tree | d7c62f412b1e99b2ebb5d37e8f86539b7dc03d9d /net/iucv/iucv.c | |
parent | 9e280f6693083baf1b7741c2b820be8d4109509e (diff) | |
download | linux-89c9b66b104549a8698e412bf6f4140c1d0786fb.tar.xz |
[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 'net/iucv/iucv.c')
0 files changed, 0 insertions, 0 deletions