Messages in this thread | | | Date | Wed, 9 Jan 2019 20:38:51 -0500 (EST) | From | Mathieu Desnoyers <> | Subject | Possible use of RCU while in extended QS: idle vs RCU read-side in interrupt vs rcu_eqs_exit |
| |
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
| |