From 158eff54eaf77a47b86aff9fb96e7ab4819c7c06 Mon Sep 17 00:00:00 2001 From: Patrick Cain Date: Wed, 12 Mar 2014 16:56:16 -0700 Subject: [PATCH] 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 --- drivers/cpufreq/cpu-boost.c | 8 ++------ 1 file 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);