On Thu, Jul 20, 2017 at 05:50:54AM -0700, Paul E. McKenney wrote: > > > > static void cpuidle_idle_call() > > { > > rcu_idle_enter() > > ...... > > rcu_idle_exit() > > } > > > > I want > > > > static void cpuidle_idle_call() > > { > > if (tick stopped) > > rcu_idle_enter() > > ...... > > if (tick stopped) > > rcu_idle_exit() > > } > > > > Or checking tick stop can be put into rcu_idle_enter/exit > > The answer is the traditional "it depends". > > If the above change was all that you did, that would be a bug in the > case where the predicted short idle time turned out to in reality be an > indefinite idle time.
Can't be, you didn't disable the tick after all, so you're guaranteed to get interrupted by the tick and try again.