[CPUFREQ] calculate delay after dbs_check_cpu
calculate ondemand delay after dbs_check_cpu call because it can modify rate_mult value use freq_lo_jiffies value for the sub sample period of powersave_bias mode Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org> Signed-off-by: Dave Jones <davej@redhat.com>
This commit is contained in:
Родитель
5b95364f61
Коммит
5cb2c3bd0c
|
@ -642,12 +642,7 @@ static void do_dbs_timer(struct work_struct *work)
|
|||
unsigned int cpu = dbs_info->cpu;
|
||||
int sample_type = dbs_info->sample_type;
|
||||
|
||||
/* We want all CPUs to do sampling nearly on same jiffy */
|
||||
int delay = usecs_to_jiffies(dbs_tuners_ins.sampling_rate
|
||||
* dbs_info->rate_mult);
|
||||
|
||||
if (num_online_cpus() > 1)
|
||||
delay -= jiffies % delay;
|
||||
int delay;
|
||||
|
||||
mutex_lock(&dbs_info->timer_mutex);
|
||||
|
||||
|
@ -660,10 +655,20 @@ static void do_dbs_timer(struct work_struct *work)
|
|||
/* Setup timer for SUB_SAMPLE */
|
||||
dbs_info->sample_type = DBS_SUB_SAMPLE;
|
||||
delay = dbs_info->freq_hi_jiffies;
|
||||
} else {
|
||||
/* We want all CPUs to do sampling nearly on
|
||||
* same jiffy
|
||||
*/
|
||||
delay = usecs_to_jiffies(dbs_tuners_ins.sampling_rate
|
||||
* dbs_info->rate_mult);
|
||||
|
||||
if (num_online_cpus() > 1)
|
||||
delay -= jiffies % delay;
|
||||
}
|
||||
} else {
|
||||
__cpufreq_driver_target(dbs_info->cur_policy,
|
||||
dbs_info->freq_lo, CPUFREQ_RELATION_H);
|
||||
delay = dbs_info->freq_lo_jiffies;
|
||||
}
|
||||
schedule_delayed_work_on(cpu, &dbs_info->work, delay);
|
||||
mutex_unlock(&dbs_info->timer_mutex);
|
||||
|
|
Загрузка…
Ссылка в новой задаче