]> git.baikalelectronics.ru Git - kernel.git/commit
[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)
commitc4697705718924dbe1dbfdfc23350d3588861bf1
tree3be2e76a2a7929890b02bad3e6ed189419def3bc
parent666c1865947891f2ba9a2d33df957f2b2fdd1d48
[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