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>
This commit is contained in:
parent
2eb27275fc
commit
158eff54ea
1 changed files with 2 additions and 6 deletions
|
@ -159,16 +159,12 @@ static int boost_mig_sync_thread(void *data)
|
||||||
if (ret)
|
if (ret)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (dest_policy.cur >= src_policy.cur) {
|
if (src_policy.cur == src_policy.cpuinfo.min_freq) {
|
||||||
pr_debug("No sync. CPU%d@%dKHz >= CPU%d@%dKHz\n",
|
pr_debug("No sync. Source CPU%d@%dKHz at min freq\n",
|
||||||
dest_cpu, dest_policy.cur,
|
|
||||||
src_cpu, src_policy.cur);
|
src_cpu, src_policy.cur);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sync_threshold && (dest_policy.cur >= sync_threshold))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
cancel_delayed_work_sync(&s->boost_rem);
|
cancel_delayed_work_sync(&s->boost_rem);
|
||||||
if (sync_threshold)
|
if (sync_threshold)
|
||||||
s->boost_min = min(sync_threshold, src_policy.cur);
|
s->boost_min = min(sync_threshold, src_policy.cur);
|
||||||
|
|
Loading…
Add table
Reference in a new issue