On Thu, Dec 17, 2020 at 02:51:58PM +0800, Yunfeng Ye wrote: > > > On 2020/12/15 22:47, Frederic Weisbecker wrote: > > On Tue, Dec 15, 2020 at 08:06:34PM +0800, Yunfeng Ye wrote: > >> The idle_exittime field of tick_sched is used to record the time when > >> the idle state was left. but currently the idle_exittime is updated in > >> the function tick_nohz_restart_sched_tick(), which is not always in idle > >> state when nohz_full is configured. > >> > >> tick_irq_exit > >> tick_nohz_irq_exit > >> tick_nohz_full_update_tick > >> tick_nohz_restart_sched_tick > >> ts->idle_exittime = now; > >> > >> So move to tick_nohz_stop_idle() to make the idle_exittime update > >> correctly. > >> > >> Signed-off-by: Yunfeng Ye <yeyunf...@huawei.com> > >> --- > >> kernel/time/tick-sched.c | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c > >> index 749ec2a583de..be2e5d772d50 100644 > >> --- a/kernel/time/tick-sched.c > >> +++ b/kernel/time/tick-sched.c > >> @@ -591,6 +591,7 @@ static void tick_nohz_stop_idle(struct tick_sched *ts, > >> ktime_t now) > >> { > >> update_ts_time_stats(smp_processor_id(), ts, now, NULL); > >> ts->idle_active = 0; > >> + ts->idle_exittime = now; > > > > This changes a bit the meaning of idle_exittime then since this is also > > called > > from idle interrupt entry. > > > > __tick_nohz_idle_restart_tick() would be a better place. > > > So is it necessary to modify the comment "@idle_exittime: Time when the > idle state was left" ? > > On the other hand, if the patch "nohz: Update tick instead of restarting tick > in tick_nohz_idle_exit()" > (https://www.spinics.net/lists/kernel/msg3747039.html ) applied, > __tick_nohz_idle_restart_tick will not > be called always, So is it put here also a better place?
Right but I need to re-order some code before. That's ok, I'll integrate this patch inside the changes. Thanks.