diff options
Diffstat (limited to 'kernel/time/tick-sched.c')
| -rw-r--r-- | kernel/time/tick-sched.c | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index e0f59a21c061..89aed5933ed4 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -231,6 +231,13 @@ void tick_nohz_stop_sched_tick(int inidle)  	if (!inidle && !ts->inidle)  		goto end; +	/* +	 * Set ts->inidle unconditionally. Even if the system did not +	 * switch to NOHZ mode the cpu frequency governers rely on the +	 * update of the idle time accounting in tick_nohz_start_idle(). +	 */ +	ts->inidle = 1; +  	now = tick_nohz_start_idle(ts);  	/* @@ -248,8 +255,6 @@ void tick_nohz_stop_sched_tick(int inidle)  	if (unlikely(ts->nohz_mode == NOHZ_MODE_INACTIVE))  		goto end; -	ts->inidle = 1; -  	if (need_resched())  		goto end; |