diff options
| author | Patrick Cain <pcain@codeaurora.org> | 2014-03-12 16:56:16 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 19:58:46 -0700 |
| commit | 158eff54eaf77a47b86aff9fb96e7ab4819c7c06 (patch) | |
| tree | 13cfe29c51bd7caf92c8358637a29abe89a4817d | |
| parent | 2eb27275fc723de7e67be7e9d4fc0e8a0c69d081 (diff) | |
cpufreq: cpu-boost: Re-issue boosts above minimum frequency
Frequency boosts where the source CPU frequency is greater than CPU's
minimum frequency should always go through regardless of the destination
CPU's current frequency. This fixes a performance issue where the governor
lowers the CPU frequency shortly after a thread is migrated to it because
the boost wasn't re-issued.
Change-Id: I449545a688d84b0a6e834f5a51dcb499caa84d29
Signed-off-by: Patrick Cain <pcain@codeaurora.org>
| -rw-r--r-- | drivers/cpufreq/cpu-boost.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/cpufreq/cpu-boost.c b/drivers/cpufreq/cpu-boost.c index f6695636435f..5650bfa83ae2 100644 --- a/drivers/cpufreq/cpu-boost.c +++ b/drivers/cpufreq/cpu-boost.c @@ -159,16 +159,12 @@ static int boost_mig_sync_thread(void *data) if (ret) continue; - if (dest_policy.cur >= src_policy.cur) { - pr_debug("No sync. CPU%d@%dKHz >= CPU%d@%dKHz\n", - dest_cpu, dest_policy.cur, + if (src_policy.cur == src_policy.cpuinfo.min_freq) { + pr_debug("No sync. Source CPU%d@%dKHz at min freq\n", src_cpu, src_policy.cur); continue; } - if (sync_threshold && (dest_policy.cur >= sync_threshold)) - continue; - cancel_delayed_work_sync(&s->boost_rem); if (sync_threshold) s->boost_min = min(sync_threshold, src_policy.cur); |
