cpufreq: interactive: Ramp up directly if cpu_load exceeds 100
authorJunjie Wu <junjiew@codeaurora.org>
Wed, 25 Mar 2015 21:05:49 +0000 (14:05 -0700)
committerDanny Wood <danwood76@gmail.com>
Fri, 22 Mar 2019 16:03:06 +0000 (16:03 +0000)
commit7a9df46bbbc7caf07d9becc1c98b96efb7608ccf
tree453d29f0ef1a58a45fac755d644431e158567dbf
parent6d497ad55396d61ba2f2ca7c474513fedd35c563
cpufreq: interactive: Ramp up directly if cpu_load exceeds 100

When governor is using regular busy time tracking, cpu_load will
never exceed 100 because busy time will never exceed elapsed time in
any one sampling window. The only exception is when frequency is
reduced in middle of a window (e.g. due to thermal throttling). In
this case, cpu_load is likely irrelevant since current frequency
governor has been voting is already higher than what target can run
at.

However, on a heterogeneous CPU system with scheduler input enabled
to track the load of migrated tasks, cpu_load could also exceed 100
when a task migrates from more capable CPU to slower CPU. When this
happens, governor already knows the exact frequency required to handle
this load. There is no need to progressively ramp up frequency in order
to assess the load's real demand. It's not desirable to starve such a
migrating task by forcing it through ramping up process on the slower
CPU.

Direclty jump beyond hispeed_freq and ignore above_hispeed_delay if
cpu_load exceeds 100.

Change-Id: Ib87057e4f00732fad943ab595a33e3059494ef15
Signed-off-by: Junjie Wu <junjiew@codeaurora.org>
drivers/cpufreq/cpufreq_interactive.c