Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: NOHZ: Properly feed cpufreq ondemand governor
This commit is contained in:
commit
38df92b8ce
1 changed files with 9 additions and 3 deletions
|
@ -222,6 +222,15 @@ void tick_nohz_stop_sched_tick(int inidle)
|
|||
|
||||
cpu = smp_processor_id();
|
||||
ts = &per_cpu(tick_cpu_sched, cpu);
|
||||
|
||||
/*
|
||||
* Call to tick_nohz_start_idle stops the last_update_time from being
|
||||
* updated. Thus, it must not be called in the event we are called from
|
||||
* irq_exit() with the prior state different than idle.
|
||||
*/
|
||||
if (!inidle && !ts->inidle)
|
||||
goto end;
|
||||
|
||||
now = tick_nohz_start_idle(ts);
|
||||
|
||||
/*
|
||||
|
@ -239,9 +248,6 @@ void tick_nohz_stop_sched_tick(int inidle)
|
|||
if (unlikely(ts->nohz_mode == NOHZ_MODE_INACTIVE))
|
||||
goto end;
|
||||
|
||||
if (!inidle && !ts->inidle)
|
||||
goto end;
|
||||
|
||||
ts->inidle = 1;
|
||||
|
||||
if (need_resched())
|
||||
|
|
Loading…
Reference in a new issue