Hi Paul, I've had a user report that trace_sched_waking() appears to be invoked while !rcu_is_watching() in some situation, so I started digging into the scheduler idle code.
It appears that interrupts are re-enabled before rcu_eqs_exit() is invoked when exiting idle code from the scheduler. I wonder what happens if an interrupt handler (including scheduler code) happens to issue a RCU read-side critical section before rcu_eqs_exit() is called ? Is there some code on interrupt entry that ensures rcu eqs state is exited in such scenario ? Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com

