From: Li Zhong Date: Wed, 19 Sep 2012 15:52:32 +0000 (-0700) Subject: rcu: Move TINY_RCU quiescent state out of extended quiescent state X-Git-Tag: omap-for-v3.7-rc1/fixes-cpufreq-signed~101^2~1^2~2^3~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=22a767269a767b3ee91e4aaea353ac6bec6a912d;p=pandora-kernel.git rcu: Move TINY_RCU quiescent state out of extended quiescent state TINY_RCU's rcu_idle_enter_common() invokes rcu_sched_qs() in order to inform the RCU core of the quiescent state implied by idle entry. Of course, idle is also an extended quiescent state, so that the call to rcu_sched_qs() speeds up RCU's invoking of any callbacks that might be queued. This speed-up is important when entering into dyntick-idle mode -- if there are no further scheduling-clock interrupts, the callbacks might never be invoked, which could result in a system hang. However, processing callbacks does event tracing, which in turn implies RCU read-side critical sections, which are illegal in extended quiescent states. This patch therefore moves the call to rcu_sched_qs() so that it precedes the point at which we inform lockdep that RCU has entered an extended quiescent state. Signed-off-by: Li Zhong Signed-off-by: Paul E. McKenney --- Reading git-diff-tree failed