> Would you eventually like to add the tag “Fixes” once more? Sorry. I forgot :( > > +++ b/kernel/time/tick-sched.c > > @@ -1228,8 +1228,10 @@ void tick_nohz_idle_stop_tick(void) > > ts->idle_sleeps++; > > ts->idle_expires = expires; > > > > - if (!was_stopped && tick_sched_flag_test(ts, TS_FLAG_STOPPED)) { > > - ts->idle_jiffies = ts->last_jiffies; > > + if (tick_sched_flag_test(ts, TS_FLAG_STOPPED)) { > > + if (!was_stopped) > > + ts->idle_jiffies = ts->last_jiffies; > > + > > nohz_balance_enter_idle(cpu); > > } > … > > I interpret these diff data in the way that you propose to reorder > two condition checks. > > But I wonder still how “good” the presented change description fits to > the suggested source code adjustment. FWIW it doesn't need to check !was_stopped to call nohz_balance_enter_idle() in tick_nohz_idle_stop_tick(). Formerly, __tick_nohz_idle_enter() is called in both tick_nohz_irq_exit() and in do_idle(). That's why it's required for nohz full cpu which already stop the tick, but not idle to prevent enter idle balance. (but it makes nohz full cpu enter nohz idle balance as side effect i think?) but after some reorganizing code tick_nohz_idle_stop_tick() becomes the code called in only when enter idle. What I point is that it doesn't need to check !was_stopped to call nohz_balance_enter_idle() in tick_nohz_idle_stop_tick(). So, I think it's enough in commit message? Am I wrong? Thanks.