diff options
author | rahul.khandelwal <rahul.khandelwal@spreadtrum.com> | 2015-04-17 11:45:23 +0530 |
---|---|---|
committer | rahul.khandelwal <rahul.khandelwal@spreadtrum.com> | 2015-04-17 11:45:23 +0530 |
commit | 6902d1f6c261ed7fe256f75611bc7125a160b621 (patch) | |
tree | b3cf245894cbb5999268815204226b6d429aab07 | |
parent | 86aa0483b64c9c8c89a5e00d7e21f66ff4942d15 (diff) | |
download | edison-v3.10-6902d1f6c261ed7fe256f75611bc7125a160b621.tar.gz |
subsystem: CPU FREQUENCY DRIVERS- Set cpu_load calculation on current frequency
In timer, cpu_load is calcuated on target_freq.
cpu_load = loadadjfreq / pcpu->target_freq;
But cpu is actually running on current freq i.e. pcpu->policy->cur. So cpu_load
should be calculated on current frequency.
cpu_load = loadadjfreq / pcpu->policy->cur;
Change-Id: I89db6b68e9f82aa52077f6bf7d819dab74265790
Signed-off-by: rahul.khandelwal <rahul.khandelwal@spreadtrum.com>
-rw-r--r-- | drivers/cpufreq/cpufreq_interactive.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/cpufreq/cpufreq_interactive.c b/drivers/cpufreq/cpufreq_interactive.c index 0d4a4f30efa..0654e404355 100644 --- a/drivers/cpufreq/cpufreq_interactive.c +++ b/drivers/cpufreq/cpufreq_interactive.c @@ -403,7 +403,7 @@ static void cpufreq_interactive_timer(unsigned long data) spin_lock_irqsave(&pcpu->target_freq_lock, flags); do_div(cputime_speedadj, delta_time); loadadjfreq = (unsigned int)cputime_speedadj * 100; - cpu_load = loadadjfreq / pcpu->target_freq; + cpu_load = loadadjfreq / pcpu->policy->cur; tunables->boosted = tunables->boost_val || now < tunables->boostpulse_endtime; if (cpu_load >= tunables->go_hispeed_load || tunables->boosted) { |