[S390] idle: avoid RCU usage in extended quiescent state
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Fri, 17 Feb 2012 09:29:20 +0000 (10:29 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 17 Feb 2012 09:29:32 +0000 (10:29 +0100)
commitf3612304ee04a1a36ded7604771ea56d818158cb
tree3be2e76a2a7929890b02bad3e6ed189419def3bc
parent4903062b5485f0e2c286a23b44c9b59d9b017d53
[S390] idle: avoid RCU usage in extended quiescent state

Avoid calling wake_up() from our NMI "bottom halve" from RCU extended
quiescent state in idle. wake_up() has RCU read-side critical sections
but this will be completely ignored by RCU if the cpu is in extended
quiescent state.
Which means that whatever object is being accessed from within the
read-side critical section can be freed concurrently from a different
cpu.
So make sure we leave extended quiescent state before calling wake_up().

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/process.c