I've been using this rom for quite a few weeks now and quite satisfied with it except for battery drain caused by cpu switching to max clock frequency 1.6GHz mostly. I've installed a huge number of apps, quite a few of which are really essential for me.
For quite sometime, i've been experimenting with CPU interactive frequency scaling governor and i'll try to list my results here...
by the way, a handy reference is from android source code
Coming back to our original problem, I've still not figured out the effect of a few parameters, others i've listed below.
My main goal is to extend battery life while keeping phone responsive. As individuals use their phones differently, the parameters would also have to be tuned for "optimum" performance. The crater of "interactive" governor has already done a very nice job and allows various parameters to be set.
For this purpose, I'm using kernel tuner beta app from playstore.
min_sample_time: 80,000(=80milliseconds) . This parameter is used to average out cpu loads for scaling up/down frequency
boost:0, keep it to 1 would permanently keep phone's cpu to hispeed_freq (defined below)
target_loads:80 My understanding is that when cpu loads measured for min_sample_time exceeds this parameter, the cpu frequency in increased.
io_is_busy:0 to tune frequency when device is handling io requests. 1=>cpu frequency calculations include io requests, although i'm a bit confused about 0/1 setting implications.
sync_frequency: no idea what is does/controls. may be related to dual core operations
timer_slack:80000 basically to avoid cpu idle state at higher frequency, this parameter controls the time after which cpu forcibly checks if it is required to lower down the frequency if cpu is at idle state (even at higher than minimum frequency)
hispeed_freq:918000 High speed the cpu you should go in case loads are high. if the loads are still high, it switches over to the next higher frequency only after the time specified in above_hispeed_delay parameter.
up_threshold_any_cpu_freq: 85 Couldn't find any description. My guess is that if cpu loads cross this value, frequency is increased.
up_threshold_any_cpu_load:85: ?? sorry, no idea what it does
sampling_down_factor:1 applicable at highest speed, thus related to batter drain. when more than one, decision to reduce cpu speed is deferred by the multiplying factor.
timer_rate:100000 the interactive governor rate @which sampling is done. less rate means more responsive (but also battery drain)
above_hispeed_delay:250000 when cpu is at hispeed_freq, it waits for these many microseconds, before switching over to the next higher frequency. thus, if cpu is able to handle loads @hi_speed_freq, no need to go to higher frequencies and battery drain is avoided.
bootpulse_duration: 80000 temporarily switch cpu to highest frequency for this duration
go_highspeed_load:99 (?) on my phone i can't change this parameter. don't know why
Please post your results with different parameters and its effect on performance vs battery so that we could all mutually benefit from a number of test cases. Immediate effects can be observed in cooltool.
If there is any app which could plot/log cpu frequency, cpu load on the same graph wrt time, please post as that would be really helpful in understanding the effects of changing various parameters.
---------- Post added at 04:02 PM ---------- Previous post was at 03:55 PM ----------
Sorry i am reposting this, but i did not get any response earlier.
Is there a way to force sim2 to 3g only. sim1 can be forced by *#*#4636#*#* network info screen which supports only one sim.
As 3g network rollout is really patchy in outskirts of cities here in india, on my phone, sim2 keeps on switching from E to H+ back E+ without any reasons (even if H+ signals are strong 3-4 bars)