Based on Daniel Hillenbrand's GT-I9300 implementation Change-Id: Ibde3ee5939a783ef4998d89d88658822f20de55c Signed-off-by: Andrew Dodd <email@example.com>
LOAD_FREQ is (5*HZ+1) to avoid high load average when idle: http://kerneltrap.org/mailarchive/linux-kernel/2007/10/3/328568 I suggest (4*HZ+61) for a better distribution. With some seconds based load (like SSL heartbeats) and LOAD_FREQ at (5*HZ+1) I see Moire patterns like inverse sawtooth, since 2 or 3 probes hit the jobs (load increases quickly), followed by several probes missing it. A 4.61 sec interval gives optimal distribution over when within a second a probe is taken, as .61 is close to golden ratio phi 1.618... (test in http://ripke.com/goldenratio.c). 12*4.61 = 55.32 secs is still close to a minute, and 13*4.61=59.93 is even closer than the current 12*5.01=60.12 (with exponents EXP_x adjusted to a ratio of 13 instead of 12).
…ng/disabling the second core
…rnor the device boots while charging in off-state because of the interactive thread. This patch starts the worker thread only when interactive governor is selected.
… little more.
…queues on governor exit
- remove some 4-core dependent interfaces + some tuning - use the average of rq_avg values instead of using min or max values in cpu up/down decision. - do not discard samples when num_hist is zero. make the sampling storage a ring buffer
…t between 500MHz and 800MHz if default values are set to 0
…e it dynamic freq step aware and work with freq tables with invalid frequency entries.
It improves perfomance, especially if autogroup is enabled. The size of set_task_rq() was 0x180 and now it is 0xa0. Signed-off-by: Andrew Vagin <firstname.lastname@example.org> Acked-by: Paul Turner <email@example.com> Signed-off-by: Peter Zijlstra <firstname.lastname@example.org> Link: http://email@example.com Signed-off-by: Ingo Molnar <firstname.lastname@example.org>
Based on patches by netarchy Signed-off-by: Andrew Dodd <email@example.com>