diff options
author | Dave Jones <davej@redhat.com> | 2005-01-14 06:05:03 -0500 |
---|---|---|
committer | Dave Jones <davej@redhat.com> | 2005-01-14 06:05:03 -0500 |
commit | 441f331ce15b9b43fe3166ffa8b9819d44a75dd9 (patch) | |
tree | 6c7ebb57bbe7aad416b8936c37202ea12d10c9b1 /drivers | |
parent | 01c32eef8003ddc1bd941b04a933fa0fa680a834 (diff) | |
download | history-441f331ce15b9b43fe3166ffa8b9819d44a75dd9.tar.gz |
[CPUFREQ] ondemand: don't increase to full speed at startup (Bruno Ducrot)
From: Bruno Ducrot <ducrot@poupinou.org>
dbs_timer_init() will schedule_work(&dbs_work) so that do_dbs_timer()
is likely called very early at same time slice scheduler, and
for each cpu, dbs_check_cpu(cpu) will be called, likely at the same time
slice than dbs_timer_init().
So far, we will get total_idle_ticks == idle_ticks == 0 unconditonaly,
and the processor will be put at full speed even though it's not needed
at startup.
Ack'ed by Venkatesh Pallipadi.
Signed-off-by: Bruno Ducrot <ducrot@poupinou.org>
Signed-off-by: Dominik Brodowski <linux@brodo.de>
Signed-off-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/cpufreq/cpufreq_ondemand.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c index 3fbb4888c7c066..8d83a21c6477f3 100644 --- a/drivers/cpufreq/cpufreq_ondemand.c +++ b/drivers/cpufreq/cpufreq_ondemand.c @@ -359,7 +359,8 @@ static void do_dbs_timer(void *data) static inline void dbs_timer_init(void) { INIT_WORK(&dbs_work, do_dbs_timer, NULL); - schedule_work(&dbs_work); + schedule_delayed_work(&dbs_work, + sampling_rate_in_HZ(dbs_tuners_ins.sampling_rate)); return; } |