Messages in this thread Patch in this message | | | From | "Jiang, Yunhong" <> | Subject | The tick when exit idle for nohz_full cpu | Date | Thu, 3 Sep 2015 01:46:24 +0000 |
| |
Hi, Frederic I noticed currently the tick_nohz_idle_exit() will always restart the sched_tick, even when it's on the nohz_full cpu. I'm not sure if we can keep the sched_tick stopped if it's on a nohz_full_cpu. The sched tick will be enabled on tick_nohz_task_switch() if needed. Is it ok to keep the sched tick off in the scheduling process?
Something like followed patch (just to show the idea).
Thanks --jyh
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 3319e16..7519a0f 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -909,8 +909,9 @@ void tick_nohz_idle_exit(void) tick_nohz_stop_idle(ts, now);
if (ts->tick_stopped) { - tick_nohz_restart_sched_tick(ts, now); tick_nohz_account_idle_ticks(ts); + if (!tick_nohz_full_cpu(smp_processor_id())) + tick_nohz_restart_sched_tick(ts, now); }
| |