mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
sched: idle: Avoid retaining the tick when it has been stopped
If the tick has been stopped already, but the governor has not asked to
stop it (which it can do sometimes), the idle loop should invoke
tick_nohz_idle_stop_tick(), to let tick_nohz_stop_tick() take care
of this case properly.
Fixes: 554c8aa8ec
(sched: idle: Select idle state before stopping the tick)
Cc: 4.17+ <stable@vger.kernel.org> # 4.17+
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
50f7ccc647
commit
7059b36636
1 changed files with 1 additions and 1 deletions
|
@ -190,7 +190,7 @@ static void cpuidle_idle_call(void)
|
|||
*/
|
||||
next_state = cpuidle_select(drv, dev, &stop_tick);
|
||||
|
||||
if (stop_tick)
|
||||
if (stop_tick || tick_nohz_tick_stopped())
|
||||
tick_nohz_idle_stop_tick();
|
||||
else
|
||||
tick_nohz_idle_retain_tick();
|
||||
|
|
Loading…
Add table
Reference in a new issue