7304611fc3
Changes include: * May scale up to intermediate speeds after scaling down, rather than scale to max speed and then only scale down until max speed needed. * Tweaked thresholds at which max speed requested (previously CPU must have been 100% busy since idle exit timer started, now will go max if at least 85% busy) and default minimum sample time raised to 80ms. Tweaking based on UI tests, still in progress. * SMP fixes. * Fixed attempted multiple delete of sysfs group on governor stop. Set a just-in-case-CPU-goes-busy-again timer even if nr_running == 0 at timer function run time, but cancel if that CPU goes idle (and don't re-arm timer if that CPU is currently idle). * Re-evaluate speed if a CPU goes idle while above min speed (and no timer currently set) in case the platform requires all CPUs to be at the same speed. * Realtime workqueues disappeared upstream, convert speed up workqueue to a realtime task. Average scheduling latency measured significantly less than WQ_HIGHPRI. * Timers are not deferrable, must wake CPU from idle, since we now re-evaluate speed for idle CPUs. * CPU load is computed from higher of short-term load since idle exit vs. long-term load since last frequency change, to avoid dropping speed during temporary dips in load on long-term-busy CPU. * Avoid 1 CPU starting new idle exit load eval interval in a race with timer running on another CPU. * New fugly debugging printfs should be reworked or go away eventually. Change-Id: I606b5c1850637c35a7814309df12362d5c044825 via: https://review.source.android.com//#change,15809 |
||
---|---|---|
.. | ||
cpufreq_conservative.c | ||
cpufreq_interactive.c | ||
cpufreq_ondemand.c | ||
cpufreq_performance.c | ||
cpufreq_powersave.c | ||
cpufreq_smartass.c | ||
cpufreq_stats.c | ||
cpufreq_userspace.c | ||
cpufreq.c | ||
freq_table.c | ||
Kconfig | ||
Makefile |