summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Cain <pcain@codeaurora.org>2014-03-12 16:56:16 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 19:58:46 -0700
commit158eff54eaf77a47b86aff9fb96e7ab4819c7c06 (patch)
tree13cfe29c51bd7caf92c8358637a29abe89a4817d
parent2eb27275fc723de7e67be7e9d4fc0e8a0c69d081 (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.c8
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);