]> rtime.felk.cvut.cz Git - hercules2020/nv-tegra/linux-4.4.git/commitdiff
sched, cpufreq: Update frequency relative to policy->max
authorSai Gurrappadi <sgurrappadi@nvidia.com>
Mon, 13 Feb 2017 17:46:38 +0000 (09:46 -0800)
committermobile promotions <svcmobile_promotions@nvidia.com>
Mon, 10 Apr 2017 07:44:57 +0000 (00:44 -0700)
Frequency invariant load is currently calculated relative to policy->max
i.e :

    freq_invariant_util = util * (policy->cur / policy->max);

Which means that when selecting a frequency, schedutil should also try to
calculate the new target frequency relative to policy->max and not
cpuinfo_max_freq.

Bug 1877558
Bug 200222325

Change-Id: Ice66f1fa52b23a4c1a3837b8f320c3d40acf6c15
Signed-off-by: Sai Gurrappadi <sgurrappadi@nvidia.com>
Reviewed-on: http://git-master/r/1458136
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
kernel/sched/cpufreq_schedutil.c

index 89405ed6b393f43b5fee8a2fbf52e3428584056d..4bf17e1aa35a1f3ee963cf8238c8c432eec0421d 100644 (file)
@@ -126,7 +126,7 @@ static unsigned int get_next_freq(struct cpufreq_policy *policy,
                                  unsigned long util, unsigned long max)
 {
        unsigned int freq = arch_scale_freq_invariant() ?
-                               policy->cpuinfo.max_freq : policy->cur;
+                               policy->max : policy->cur;
 
        return (freq + (freq >> 2)) * util / max;
 }