FORUMS
Remove All Ads from XDA

[GUIDE] Tweaking Interacting Gov

414 posts
Thanks Meter: 250
 
By Kyuubi10, Senior Member on 1st March 2016, 01:26 AM
Post Reply Email Thread
Hey guys, Kyuubi10 back once again with another Guide.
I thought it might be useful to pop in a couple results of my trial and error for the HTC One M8.

Note: This is not scientifically, calculated accurate, but it's close enough, based on estimates.

After following these guides:
http://forum.xda-developers.com/show....php?t=2769899
https://vjnaik.wordpress.com/2015/06...-rooted-phone/

I decided to make a summary guide of the above but with specific HTC One M8 values.

Since I agree with the idea of "race to idle" embodied in the Wheatley governor, I tried emulating that on the Interactive governor while also keeping it as efficient as possible.

Here are the values (all others not mentioned, leave default):
Code:
above_hispeed_delay - 80000 2265600:10000

go_hispeed_load - 95

hispeed_freq - 1728000

io_is_busy - 1

min_sample_time - 10000

target_loads - 45 729000:80 883200:50 1267000:85 1497600:50 1728000:90 1958400:50

timer_rate - 10000

timer_slack - 5000
"above_hispeed_delay" makes sure that longer time is spent on the frequency step 1.72Ghz, before quickly raising higher into max freq.
1.72Ghz is the most energy efficient frequency with a good performance, e.g. it will not cause lag during casual usage, while it uses minimal voltage.
If the load is too high for this frequency to handle, I set the time short once it's gone over this freq step so that it will not waste time before reaching max freq. Thus dealing with the issue asap.

Another important parameter is "target_load", with this I have defined that at each efficient freq step the load needed to overcome it would be higher than normal. But it would up-scale quickly when using non-efficient frequencies.

The other parameters I have set so that the frequency is lowered as soon as CPU load is finished, so that it will rush back to idle as quickly as possible.

The interesting thing about this set-up is that for general, non heavy usage, it basecally functions as if I have underclocked to 1.72Ghz, but when the CPU is truly pushed it reaches up to 2.5Ghz which is my Overclocked max freq value.
Thus both saving battery and providing high performance.

I have felt no lag, and it's been quite a smooth experience while I used this
Combined with using GPU rendering (found in developer settings), and Seeder, the over all usage is pretty good.
Battery usage has been very efficient and I have managed to squeeze out an extra hour or two using this.

I highly recommend it!
Hope I helped you guys... don't forget to press the thanks button if you also feel that I did!
The Following 15 Users Say Thank You to Kyuubi10 For This Useful Post: [ View ] Gift Kyuubi10 Ad-Free
 
 
5th March 2016, 03:14 AM |#2  
Member
Thanks Meter: 38
 
More
I noticed I have some governor settings left at 0 or blank. I did some quick googling, found some other tweaks for the M8 and the interactive governor. So I played around a bit, and I think the following would be useful to add to the above tweaks.

-----------------------

sampling_down_factor: 60000
sync_freq: 1036800
up_threshold_any_cpu_load: 65
up_threshold_any_cpu_freq: 1190400
boost: 0
boostpulse_duration: 80000

--------------------

Also of note there is not a entry for " io_is_busy " under the Interactive governor under ElementalX Sense kernel v6.03. I believe it's possible to modify the governor to add the function, if it's desired.

Hope this helps others.
The Following 2 Users Say Thank You to SaskFellow For This Useful Post: [ View ] Gift SaskFellow Ad-Free
7th March 2016, 10:19 AM |#3  
lil_kujo's Avatar
Senior Member
Thanks Meter: 47
 
More
nice one i read the links that you posted and follow the guides there also to tweak the interactive governor on the first link that you posted is really interesting he has updated that post also, i followed his guide inspired by your guide and i have been getting good results on my phone with battery and performance i mean almost no battery drain at all while my phone is idle. thanks for the help mate!
7th March 2016, 08:41 PM |#4  
munkyvirus's Avatar
Senior Member
Flag D-Town
Thanks Meter: 236
 
More
Plugged the settings into Yankactive on DU. Quick, freqs stay low when nothings going on, seems legit. I set my timer_rate higher tho, 10000 feels a little low, makes me think that the CPU will spend too much time polling loads.
8th March 2016, 12:10 PM |#5  
Kyuubi10's Avatar
OP Senior Member
Thanks Meter: 250
 
More
Quote:
Originally Posted by SaskFellow

I noticed I have some governor settings left at 0 or blank. I did some quick googling, found some other tweaks for the M8 and the interactive governor. So I played around a bit, and I think the following would be useful to add to the above tweaks.

-----------------------

sampling_down_factor: 60000
sync_freq: 1036800
up_threshold_any_cpu_load: 65
up_threshold_any_cpu_freq: 1190400
boost: 0
boostpulse_duration: 80000

--------------------

Also of note there is not a entry for " io_is_busy " under the Interactive governor under ElementalX Sense kernel v6.03. I believe it's possible to modify the governor to add the function, if it's desired.

Hope this helps others.

Some of those actually make no difference. Since they are overruled by other perameters. E.g. up_threshold aren't used in interactive, since they follow target_load instead.
Sampling_down_factor on the other hand is overrulled by the timer features of interactive.
When you use ondemand, or conservative, sampling_down_factor is a fun parameter to play with, but not interactive.

While Sync_Freq I don't like using because it raises minimum frequency to its value...although temporarily, the timer features can already deal with CPU loads efficiently.

Quote:
Originally Posted by lil_kujo

nice one i read the links that you posted and follow the guides there also to tweak the interactive governor on the first link that you posted is really interesting he has updated that post also, i followed his guide inspired by your guide and i have been getting good results on my phone with battery and performance i mean almost no battery drain at all while my phone is idle. thanks for the help mate!

Great The links are important!! They are my sources, and often contain much more detail than what I use in my guides. I attempt creating a well ordered summary, but my sources are better if you don't mind reading loads.
I'm glad I could help

Quote:
Originally Posted by munkyvirus

Plugged the settings into Yankactive on DU. Quick, freqs stay low when nothings going on, seems legit. I set my timer_rate higher tho, 10000 feels a little low, makes me think that the CPU will spend too much time polling loads.

That's the idea. And never heard of Yankactive...but I'm gonna assume it's good lol.
And about time_rate, you are right, but you are also wrong.
There isn't a true right answer unless someone performs a scientific experiment in order to fully test which one is better.
But I'll explain why I put my one short... I want the frequencies returning to IDLE asap. While yes, you are right it's polling often, it also returns to idle much faster, rather than staying at higher frequency uselessly wasting battery.
I'll try to run some tests checking CPU load, if CPU load considerable lowers I'll come back and report.
The Following User Says Thank You to Kyuubi10 For This Useful Post: [ View ] Gift Kyuubi10 Ad-Free
8th March 2016, 04:31 PM |#6  
munkyvirus's Avatar
Senior Member
Flag D-Town
Thanks Meter: 236
 
More
Yankactive is Interactive with some under the hood tweaks, I believe, same tunables. I also looked at some documentation on Interactive and I think the target_loads have to be in ascending order based on load when paired with clock speeds, I'm gonna mess with them a bit and see what I get. Link
8th March 2016, 04:53 PM |#7  
Kyuubi10's Avatar
OP Senior Member
Thanks Meter: 250
 
More
Quote:
Originally Posted by munkyvirus

Yankactive is Interactive with some under the hood tweaks, I believe, same tunables. I also looked at some documentation on Interactive and I think the target_loads have to be in ascending order based on load when paired with clock speeds, I'm gonna mess with them a bit and see what I get. Link

And no, target_loads has to be in ascending order based on FREQUENCY. You are applying load percentages to frequency ranges, therefore it is imperative that its the frequency defining the order.
e.g. 50 4:80 10:20 12: 50 means:
50% load before going to the next frequency step, until you reach frequency 4, then use 80% instead until frequency 10, then use 20% instead until 12, then use 50% until max frequency.

Feel free to play with them as much as you want, just make sure to keep the idea of using efficient frequency steps in mind.
The Following User Says Thank You to Kyuubi10 For This Useful Post: [ View ] Gift Kyuubi10 Ad-Free
8th March 2016, 05:02 PM |#8  
munkyvirus's Avatar
Senior Member
Flag D-Town
Thanks Meter: 236
 
More
Quote:
Originally Posted by Kyuubi10

And no, target_loads has to be in ascending order based on FREQUENCY. You are applying load percentages to frequency ranges, therefore it is imperative that its the frequency defining the order.
e.g. 50 4:80 10:20 12: 50 means:
50% load before going to the next frequency step, until you reach frequency 4, then use 80% instead until frequency 10, then use 20% instead until 12, then use 50% until max frequency.

Feel free to play with them as much as you want, just make sure to keep the idea of using efficient frequency steps in mind.

Thank you for the knowledge dump, been scraping the barrel for weeks trying to figure out tunables!
8th March 2016, 10:46 PM |#9  
Kyuubi10's Avatar
OP Senior Member
Thanks Meter: 250
 
More
Quote:
Originally Posted by munkyvirus

Thank you for the knowledge dump, been scraping the barrel for weeks trying to figure out tunables!

Hehe it's a pleasure.
It's a way I find to give back to the community, since I learn so much through it. I can try help make life easier for those who follow the same path I did.
9th March 2016, 03:07 PM |#10  
lil_kujo's Avatar
Senior Member
Thanks Meter: 47
 
More
Hello kyuubi10 thanks for your help, would it be ok to change mp decision to battery saver mode ? Whats your take on that?
9th March 2016, 05:11 PM |#11  
Senior Member
Thanks Meter: 53
 
More
Wow, this is awesome! I had the performance gov on, which just destroyed my battery. Now, I have a question for you!

What is your take on "Multicore Power Savings" ? I'm using a flarport kernel which has it set to aggressive by default. Should this be changed to anything else while using your gov settings? Thanks for any assistance!
Post Reply Subscribe to Thread

Tags
efficiency, htc one m8, interactive, race to idle, tweak

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes