aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDave Jones <davej@redhat.com>2005-01-14 06:05:03 -0500
committerDave Jones <davej@redhat.com>2005-01-14 06:05:03 -0500
commit441f331ce15b9b43fe3166ffa8b9819d44a75dd9 (patch)
tree6c7ebb57bbe7aad416b8936c37202ea12d10c9b1 /drivers
parent01c32eef8003ddc1bd941b04a933fa0fa680a834 (diff)
downloadhistory-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.c3
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;
}