grouper: power hal: improve interactive loads
-- ignore set_interactive(0) mode sets
-- decrease cpu load from 85% to 75% before ramping up; this way a core's
frequency will be maxed out more aggressively
-- increase the hold time at max freq from 30ms to 500ms before beinning to
ramp down; this way a core will stay longer at the maximum frequency, once
there
-- increase timer sampling rate from 20ms to 50ms; this way cpufreq ramdown
will be slower
Change-Id: I5d7e387f96db3601a2ab95fbac71359c7b3e81ba
Signed-off-by: Iliyan Malchev <malchev@google.com>
diff --git a/power/power.c b/power/power.c
index 654d73a..b5e25f7 100644
--- a/power/power.c
+++ b/power/power.c
@@ -187,11 +187,11 @@
*/
sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/timer_rate",
- "20000");
+ "50000");
sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/min_sample_time",
- "30000");
+ "500000");
sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load",
- "85");
+ "75");
sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/boost_factor",
"0");
sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/input_boost",
@@ -199,22 +199,9 @@
uevent_init();
}
-static void grouper_power_set_interactive( __attribute__((unused)) struct power_module *module, int on)
+static void grouper_power_set_interactive(__attribute__((unused)) struct power_module *module,
+ __attribute__((unused)) int on)
{
- /*
- * Lower maximum frequency when screen is off. CPU 0 and 1 share a
- * cpufreq policy.
- */
-
- sysfs_write("/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq",
- on ? "1300000" : "700000");
-
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/input_boost",
- on ? "1" : "0");
-
- sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/boost_factor",
- on ? "0" : "2");
-
}
static void grouper_power_hint(__attribute__((unused)) struct power_module *module, power_hint_t hint,