sched,idle,rcu: Push rcu_idle deeper into the idle path
Lots of things take locks, due to a wee bug, rcu_lockdep didn't notice
that the locking tracepoints were using RCU.
Push rcu_idle_{enter,exit}() as deep as possible into the idle paths,
this also resolves a lot of _rcuidle()/RCU_NONIDLE() usage.
Specifically, sched_clock_idle_wakeup_event() will use ktime which
will use seqlocks which will tickle lockdep, and
stop_critical_timings() uses lock.
Signed-off-by:
Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by:
Steven Rostedt (VMware) <rostedt@goodmis.org>
Reviewed-by:
Thomas Gleixner <tglx@linutronix.de>
Acked-by:
Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Tested-by:
Marco Elver <elver@google.com>
Link: https://lkml.kernel.org/r/20200821085348.310943801@infradead.org
Loading
Please sign in to comment