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/showthread.php?t=2769899
https://vjnaik.wordpress.com/2015/06/25/kernel-tweak-interactive-governor-paramaters-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:
[B]above_hispeed_delay [/B]- 80000 2265600:10000
[B]go_hispeed_load[/B] - 95
[B]hispeed_freq[/B] - 1728000
[B]io_is_busy[/B] - 1
[B]min_sample_time[/B] - 10000
[B]target_loads[/B] - 45 729000:80 883200:50 1267000:85 1497600:50 1728000:90 1958400:50
[B]timer_rate[/B] - 10000
[B]timer_slack[/B] - 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!:good::good:
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.
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!
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.
SaskFellow said:
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.
Click to expand...
Click to collapse
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.
lil_kujo said:
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!
Click to expand...
Click to collapse
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
munkyvirus said:
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.
Click to expand...
Click to collapse
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.
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
munkyvirus said:
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
Click to expand...
Click to collapse
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.
Kyuubi10 said:
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.
Click to expand...
Click to collapse
Thank you for the knowledge dump, been scraping the barrel for weeks trying to figure out tunables!
munkyvirus said:
Thank you for the knowledge dump, been scraping the barrel for weeks trying to figure out tunables!
Click to expand...
Click to collapse
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.
Hello kyuubi10 thanks for your help, would it be ok to change mp decision to battery saver mode ? Whats your take on that?
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!
lil_kujo said:
Hello kyuubi10 thanks for your help, would it be ok to change mp decision to battery saver mode ? Whats your take on that?
Click to expand...
Click to collapse
I have never heard of mpdecision having a battery saver mode XD
Would you please expand on that? Also tell me which tweaking app you are using?
Kyuubi10 said:
I have never heard of mpdecision having a battery saver mode XD
Would you please expand on that? Also tell me which tweaking app you are using?
Click to expand...
Click to collapse
It's in the ex app mate, it uses a less aggressive version of mpdecision to saver on battery power but I can't say that I noticed much improvement TBH.
Sent from my HTC One_M8 using Tapatalk
Anonaru said:
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!
Click to expand...
Click to collapse
You had performance on?? You do realise that the perf gov basically keeps your CPU cores running on max frequency all the time right?
No wonder your battery was dying XD
Anyhoo....good thing you found my guide
Now, about multicore power savings, as usually with most things you will be compromising something to gain something else...always keep that in mind.
With MPS you'll be giving up some multitasking, in order to gain some battery savings.
Why (you may ask)?
Well, think about a to-do list, and for each list you have one person completing the tasks within that list. Let's say you have four lists and 4 people completing those tasks.
What MPS does is it takes as many tasks as possible and places them within a single list, for one person to do. At the end of the day that one person will have done a lot of work, while the other 3 will have done very little work. The drawback? The work was completed much slower, because only one person was doing it.
Why can MPS be good? It is the way it chooses which CPU to use to add the tasks to, it chooses CPUs which are already turned on, rather than turning a new one on.
The frequency voltages on each core range from the lowest of 775mV, to the highest of 1075mV. That's a 300mV increase in battery consumption between lowest frequency and highest. (Mind you, 1075 for me is an overclocked value, if you are not OC then it will be even less)
When CPU cores have nothing to do they get turned off....they don't idle at 775mV....they are literally off. Therefore around 0mV usage XD
If you get tasks which would have run on 2 CPUs at minimum frequency, using only 775mV each, and put them to run on only 1 CPU at MAX frequency at 1075mV, you still have about 400mV battery savings. Now lets say its something which would have used 4 CPUs, but you end up using only two.... then the battery savings double to 800mV.
Final answer...it depends on your tastes, what do you prefer most? Multitasking or battery saving.
Personally I keep it enabled, but not aggressive.
But if you really don't care about multitasking, you may as well leave it as aggressive.
lil_kujo said:
Hello kyuubi10 thanks for your help, would it be ok to change mp decision to battery saver mode ? Whats your take on that?
Click to expand...
Click to collapse
smeejaytee said:
It's in the ex app mate, it uses a less aggressive version of mpdecision to saver on battery power but I can't say that I noticed much improvement TBH.
Sent from my HTC One_M8 using Tapatalk
Click to expand...
Click to collapse
Well, I use adiutor, so I don't have that option.
I am happy with my phone how it is (if it wasn't for the damned plug issues XD)
But @lil_kujo, as @smeejaytee said....he hasn't noticed much improvement.
So I'd trust his advice
Kyuubi10 said:
You had performance on?? You do realise that the perf gov basically keeps your CPU cores running on max frequency all the time right?
No wonder your battery was dying XD
Anyhoo....good thing you found my guide
Now, about multicore power savings, as usually with most things you will be compromising something to gain something else...always keep that in mind.
With MPS you'll be giving up some multitasking, in order to gain some battery savings.
Why (you may ask)?
Well, think about a to-do list, and for each list you have one person completing the tasks within that list. Let's say you have four lists and 4 people completing those tasks.
What MPS does is it takes as many tasks as possible and places them within a single list, for one person to do. At the end of the day that one person will have done a lot of work, while the other 3 will have done very little work. The drawback? The work was completed much slower, because only one person was doing it.
Why can MPS be good? It is the way it chooses which CPU to use to add the tasks to, it chooses CPUs which are already turned on, rather than turning a new one on.
The frequency voltages on each core range from the lowest of 775mV, to the highest of 1075mV. That's a 300mV increase in battery consumption between lowest frequency and highest. (Mind you, 1075 for me is an overclocked value, if you are not OC then it will be even less)
When CPU cores have nothing to do they get turned off....they don't idle at 775mV....they are literally off. Therefore around 0mV usage XD
If you get tasks which would have run on 2 CPUs at minimum frequency, using only 775mV each, and put them to run on only 1 CPU at MAX frequency at 1075mV, you still have about 400mV battery savings. Now lets say its something which would have used 4 CPUs, but you end up using only two.... then the battery savings double to 800mV.
Final answer...it depends on your tastes, what do you prefer most? Multitasking or battery saving.
Personally I keep it enabled, but not aggressive.
But if you really don't care about multitasking, you may as well leave it as aggressive.
Click to expand...
Click to collapse
Hah, thanks for the guide-- I am pretty well versed in task / resource allocation on multi-threaded systems, though
Main reason I was asking was because I haven't a clue what some of the values are on this interactive gov. Just wanted to make sure they didn't clash! I'll chance it to "Enabled" rather than "Aggressive," because a compromise between the two sounds the best
As for Performance gov-- default setting on this flarport kernel, didn't bother to check it until I noticed that any time a core was on, it was racing at 2.5ghz, even with nothing going on. Battery pretty much committed suicide
Anonaru said:
Hah, thanks for the guide-- I am pretty well versed in task / resource allocation on multi-threaded systems, though
Main reason I was asking was because I haven't a clue what some of the values are on this interactive gov. Just wanted to make sure they didn't clash! I'll chance it to "Enabled" rather than "Aggressive," because a compromise between the two sounds the best
As for Performance gov-- default setting on this flarport kernel, didn't bother to check it until I noticed that any time a core was on, it was racing at 2.5ghz, even with nothing going on. Battery pretty much committed suicide
Click to expand...
Click to collapse
LOL I suggest you change kernel asap! If the dev uses uses Performcance gov as his default he doesn't know what he is doing XD
And no, as far as I know governor tunables won't ever clash with MPS.
Thanks!
rjavc said:
Thanks!
Click to expand...
Click to collapse
You're welcome! Pleasure to help.
But I'd appreciate if you press the thanks button on the relevant posts which helped you. That's the XDA way :good::good:
Kyuubi10 said:
You're welcome! Pleasure to help.
But I'd appreciate if you press the thanks button on the relevant posts which helped you. That's the XDA way :good::good:
Click to expand...
Click to collapse
Hi mate, I wondered if I could ask your advice, I want to set interactive up on my maw Android TV box it's quad 1.5gb and I want maximum performance as its constantly plugged in, there is no battery so that's not an issue,
Sorry if you think this OT but I thought I'd ask you as you know the governor well, thank you in advance mate.
Sent from my HTC One_M8 using Tapatalk
Related
I've been using setcpu for a while now, but have never bothered to mess with the advanced settings. Searching around I have only found out what most of this stuff means, but I'm missing some still. I thought I would share my findings. I have included SetCPU's descriptions (in italics) supplemented with my findings.
Governor choices (I'm using king's bfs kernel #1 on fresh 3.1.0.2) -
Ondemand - Uses the highest frequency when tasks are started, decreases step by step
Conservative - Increases frequency step by step, decreases instantly
Interactive - I couldn't figure this one out... any help?
Powersave - Uses the lowest possible clock speed to complete its tasks
Userspace - Manual controll of the frequency
Performance - Always uses the highest clock speed
Advanced Settings -
Sampling Rate - An interval (in microseconds) at which the governor will poll for updates. When this happens, the governor will decide whether to scale the CPU up or down. It uses such little power that it is better at lower values when using profiles such as screen off.
Up Threshold (1%-100%) - Defines a percentage from 1% to 100%. When the CPU load reaches this point, the governor will scale the CPU up. When using low min values (245), this happens instantly, using higher values (768) it overclocks less often. With Conservative lower values are better because it slowly increases your clock speed to what you need, with Ondemand, higher is better, as it overclocks less often.
Down Threshold (1%-100%) (conservative only) - Defines a percentage from 1% to 100%. When the CPU load reaches this point, the governor will scale the CPU down. Higher values will offer more aggressive battery saving, lowering the clock speed quicker.
Ignore Nice Load (0/1) - If this value is "1," the system will ignore "Nice" processes when deciding to scale up or down. I need a little more info for this one, what exactly is a nice process? DO NOT GOOGLE 'NICE LOAD' ESPECIALLY AT WORK OR AROUND CHILDREN/WIFE
Freq Step (0%-100%) (conservative only) - Defines how much (as a percentage of the maximum CPU speed) the conservative governor will increase the CPU speed by each time the CPU load reaches the Up Threshold. Increased the value slightly to be able to overclock quicker, but not to high to avoid unnecessary overclocking.
Powersave Bias (0-1000) (ondemand only) - Setting this value higher will "bias" the governor toward lower frequencies. This is a percentage, where 1000 is 100%, 100 is 10%, and 0 is 0%. The ondemand governor will scale the CPU to a frequency lower than its "target" speed according to this value. Gives ondemand some more battery saving potential. High values give worse performance than conservative with equal or worse battery saving. If you want the performance of ondemand with some more battery use values under 200.
I hope this info was helpful to someone, and here are my setcpu settings. I have attempted to target 150-175ms for short and 350-400ms for long benchmarks to match my performance governor and save battery at the same time.
With ondemand I get about 170ms short and 380ms long. I use 90 for up and 50 for powersave. The performance is slightly better than the default settings, and the battery is about equal. I might play with this more, as it should hit the same values as performance with better battery life.
In conservative long benchmarks in setcpu are actually faster than short ones because it takes setcpu time to adjust the speed. Run a short one immediately after a long one to see its actual value. Up changed 75 and down to 25, not much of a change, but drastic performance increase with no battery change. I also increased freq step to 10% to obtain higher speeds faster. Getting the same 170ms short and 370ms long.
My Settings
Conservative 245-1190
Temp > 50C - 768 conservative
Screen Off - 499 ondemand (allows for the screen to be unlocked faster, especially useful with incoming calls)
Charging/Full - 1190 performance
Battery < 15% - 652 conservative
Sampling - 200000
Up Thresh - 75
Down Thresh -25
Ignore Nice - 0
Freq - 10
More DFS Info
SetCPU Info
davebu said:
DO NOT GOOGLE 'NICE LOAD' ESPECIALLY AT WORK OR AROUND CHILDREN/WIFE
Click to expand...
Click to collapse
LMAO 10chars
HondaCop said:
LMAO 10chars
Click to expand...
Click to collapse
Yeah. I almost spit out my Vanilla Coke on that one. LOL
Anytime have any info about nice load or anything to add?
Sent from my HTC EVO 4G.
HondaCop said:
LMAO 10chars
Click to expand...
Click to collapse
I missed this yesterday... Post of the day in my opinion
Thanks dave...good write up
This is what I found about the interactive governor in github:
cpufreq: interactive: New 'interactive' governor
New interactive governor.
This governor is designed for latency sensitive workloads, UI interaction for
example.
Advantages:
+ significantly more responsive to ramp cpu up when required (UI interaction)
+ more consistent ramping, existing governors do their cpu load sampling in a
workqueue context, the 'interactive' governor does this in a timer context, which
gives more consistent cpu load sampling.
+ higher priority for cpu frequency increase, rt_workqueue is used for scaling
up, giving the remaining tasks the cpu performance benefit, unlike existing
governors which schedule rampup work to occur after your performance starved
tasks have completed.
Existing governors sample cpu load at a particular rate, typically
every X ms. Which can lead to under powering UI threads when the user has
interacted with an idle system until the next sample period happns.
The 'interactive' governor has a different approach. Instead of sampling the cpu
at a specified rate, the governor will scale the cpu frequency up when coming
out of idle. When the cpu comes out of idle, a timer is configured to fire
within 1-2 ticks. If the cpu is 100% busy from exiting idle to when the timer
fires then we assume the cpu is underpowered and ramp to MAX speed.
If the cpu was not 100% busy, then the governor evaluates the cpu load over the
last 'min_sample_rate' (default 50000 uS) to determine the cpu speed to ramp down
to.
There is only one tuneable for this governor:
/sys/devices/system/cpu/cpufreq/interactive/min_sample_rate:
The minimum ammount of time to spend at the current frequency before
ramping down. This is to ensure that the governor has seen enough
historic cpu load data to determine the appropriate workload.
Default is 5000 uS.
Also, in the original application thread as explained by the dev, "nice" processes are:
2. Nice processes are used by the IO scheduler to designate a low-priority process. Ignore nice load basically tells ondemand to disregard processes with higher nice values.
Good topic. You covered the bases pretty well. Glad someone finally put this together as it is useful to know. Now prepare for 1000 threads in the next month asking for the information you just posted.
hey question. i went and purchased SetCPU and attempted to follow your instruction. problem is, whenever SetCPU tries to gain super user permission, it says "no root access granted. Are applications allowed root access?" i dunno what to do. can someone advise me?
Umm, is your phone rooted?
Sent from the void...
Yessir. Since day 2 ^_^ (plus its in my sig)
Sent from my Evo using Tapatalk
SilverStone641 said:
Yessir. Since day 2 ^_^ (plus its in my sig)
Sent from my Evo using Tapatalk
Click to expand...
Click to collapse
Try uninstalling and reinstalling it.
Then double check all of your superuser settings.
SilverStone641 said:
Yessir. Since day 2 ^_^ (plus its in my sig)
Sent from my Evo using Tapatalk
Click to expand...
Click to collapse
Sorry, using the xda app which doesn't display the sig.
Sent from the void...
So, as far as speed/responsiveness of governors goes:
Fastest ------------------------------------------------------> Slowest
Performance ------> ondemand ------> Interactive? ------> Conservative
Poor battery consumption --------------------> Best battery consumption
This thread is exactly what i was looking for, thanks for the detailed explanation of the what and why.
Will try it out this week with Fresh 3.1 and KK#8.
this thread helped a lot, i was just in setCPU messing around with things, now i can use this thread to help get what i want. i bookmark'd the hell out of this thread
Thanks...OP...hopefully people will read it first...try things..then ask questions...
I am still working to see how to get the best battery life from cm6 and snap..
Thanks for the helpful post!
I experienced a "nice load" when I unboxed my EVO. Anyway the only setting I use is:
Screen off: 245/128 on demand.
Works for me. And thanks for this helpful post to help us understand all that technical mumbo jumbo.
So I got a rooted Vanilla install of the latest Sprint OTA Froyo build on my EVO. (the 3.29.651.5 build).
I purchased the latest version of SetCPU (2.03) last night and used the autodetect method for the CPU governor.
I notice on my EVO that I only have these 3 options:
Scaling:
ondemand, userspace and performance....
Is this normal to not have the conservative setting since I have the defacto kernel with a vanilla rom?
Thanks
Sheldon
Okay, so I figured it out, my default kernel does not have these other options, oh well......
Nice app though, so far its working really well.
The question is simple, the higer the freq. the more battery consumption? i am asking because i cannot see any difference from 1.4GHZ to 1.0GHZ, the battery consumption is the same under oxygen and francos kernels. i would be grateful if the experts would give us some advise or their opionion. I know it is subjective but i would like a second opinion.
Thanks alot guys
If you look with any cpu spy app, you cab see on what clock the processor is used. I mainly have it the lowest and sometimes higher. When you change the max, it should still automatically choose what clock is used, so battery should last as much as before, if not used in high clock.
Sent from my Huawei u8800 using XDA App
Invicta said:
The question is simple, the higer the freq. the more battery consumption? i am asking because i cannot see any difference from 1.4GHZ to 1.0GHZ, the battery consumption is the same under oxygen and francos kernels. i would be grateful if the experts would give us some advise or their opionion. I know it is subjective but i would like a second opinion.
Thanks alot guys
Click to expand...
Click to collapse
Probably not much difference, when you overclock, think the cpu voltage remains the same as it is on 800mhz... And the highest cpu freq is rarely even at use...
Invicta said:
The question is simple, the higer the freq. the more battery consumption? i am asking because i cannot see any difference from 1.4GHZ to 1.0GHZ, the battery consumption is the same under oxygen and francos kernels. i would be grateful if the experts would give us some advise or their opionion. I know it is subjective but i would like a second opinion.
Thanks alot guys
Click to expand...
Click to collapse
Well, thanks to most devoted users of U8800, we have somewhat better speed+battery life than stock also. To answer your question, yes depending on your activity the frequency have some impact, but overall shouldn't be huge in change, for example from .800 to 1.0GHz will not affect so much in daily use. However from .800 to 1.5GHz would make a somewhat huge gap difference. This doesn't mean it will drain faster if you do same activity as with .800 to 1.0GHz, for example check the watch, answer sms or few "entertainment" breaks. Only when using the phone over a longer period of time that's when you will notice the change of battery life with different frequency. Hope it clears up most hums and huhs for you. I am pretty sure some expert within this field will give a better explanation than me.
Bye~
higher freqs uses more energy, but lower uses less energy but do things slower (so energy consumption is longer). ALSO imo - if you set cpu to 1Ghz the lowest value so it always is 1ghz - it will not consume the same amount of energy if it's in idle mode - it's like your laptop - if cpu is working only in 4-7% of it's power - then the power consumption is lower no matter what freq - how do we know that? - because of heat - the more heat you get - the more energy was used. and when cpu is idle - it will not be hot.
So the answer is - if it saves then in VERY minimal amounts. But even so - i use min freq - 360mhz. it's good for me i do not get any lag so i use it.
I use the "Root System Tool Free", option CPU and I see the graphics of all clocks.
For ex. now at 245 mhz ->46%, at 368 ->10%, at 768 mhz ->18% .... and at 1612 mhz -> 1,8%, at 1804 mhz ->4,9%. Not very mutch use at 1804.
Oxygen-test-140911 + Franco.Kernel1709#1. Clock at 1804 Mhz by Menu-settings-cpu ... and smartassV2 (no profils).
The battery, I charge it all 24 hours. But I like my work... and testing things. When then will dead...I see...
ValenteL said:
I use the "Root System Tool Free", option CPU and I see the graphics of all clocks.
For ex. now at 245 mhz ->46%, at 368 ->10%, at 768 mhz ->18% .... and at 1612 mhz -> 1,8%, at 1804 mhz ->4,9%. Not very mutch use at 1804.
Oxygen-test-140911 + Franco.Kernel1709#1. Clock at 1804 Mhz by Menu-settings-cpu ... and smartassV2 (no profils).
The battery, I charge it all 24 hours. But I like my work... and testing things. When then will dead...I see...
Click to expand...
Click to collapse
cpu spy is more pretty, anyway all those apps just reads text file of cpu stat and that's it
Tommixoft said:
cpu spy is more pretty, anyway all those apps just reads text file of cpu stat and that's it
Click to expand...
Click to collapse
Thanks
But I like more the Root System Tool, because has also a Linux Console. I use it when I want make some cmd's Linux in #. I don't like the Terminal Emulator.
Well, there is a "catch" somewhere in there. The frequency does indeed affects the power consumption of the CPU and greatly at that too! But the thing is, your CPU is not the worst enemy of your battery life. Even though CPU consumes more power in higher frequencies, it still can not compete with what your screen LEDs or your GSM module or your GPS chip consumes leisurely. So, if you're looking at the overall picture -meaning if you're wondering if it will affect how long you'll be able to use your battery in your phone- the answer is, "yes but not so much". Especially if you're switching the CPU frequency based on the demand (like using smartass or on-demand governors)
Here are the thing that sucks your batteries life juice like a vampire :
Your Screen (especially background LEDs)
GSM module (talking, using GPRS/Edge/3G network communication)
GPS chip
Wireless module (this also includes Bluetooth, even though it does not consume as much as Wireless network access but everything is relative -think about playing music through A2DP headphones compared to having your wireless network active but not using it much-)
(oh yes, I love to use lots of parenthesis -and even this hyphenation thingy- )
Correct me if I'm wrong about anything by the way ..
Regards ..
I did some experiments with a msm8250 a while back and there's a graph here:
http://forum.xda-developers.com/showpost.php?p=14324649&postcount=3786
msm7x30 should be fairly similar though the graph is probably shallower since it's a smaller process size.
The CPU uses no power when it's not in use, even with the display on, the CPU is powered down completely when idle (power collapse).
Well I am sticking to one Rom and that's Crisekelo's like in my good 'n old sgs froyo times, but I like to test various kernels, when I have time...
Anyway I never saw a Mod Kernel with so many governors as the AbyssNote kernel, which I am testing right now..
Since there are many users out there that unlike me, already own the GNote for a long time and are way more experienced than me with this particular Kernel, I decided to start this Poll-thread so users can vote on their favorite governor and prehaps elaborate a little about it..
Thanks in advance..
Since Abyss Kernel is not working for my Note (overheat), I' at FM kernel with SavagedZen governor and vr I/0 Scheduler, butter smooth and stable, goes to deep sleep as it supposed to, sharp performance and moderate battery life. I know you prefer Abyss but just wanna let you know how the other kernel is working.
When I was on Abyss I was using abyssplug governor with and without undervolting. Hope you can get Abyss work for you, if you manage to do it without overheat I would appreciate any info.
have fun!
Oops ... you reacted fast ! The poll was not even ready
At the moment I don't prefer any kernel ( Only the rom) and on a device such as the GNote, I have a hunch that we dont need a super-optimized kernel with tons of iterations and that's why I always keep CF-Root and Speedmod handy, but I like the dedication and availability of AbyssNote developer, so I am giving it another try...
Since I have not enough time to play with the GNote as I did with the sgs, I am hoping that the AbyssNote users will give this specific input ....
iceangel1980 said:
"... Abyss Kernel is not working for my Note (overheat), I' at FM kernel with SavagedZen governor and vr I/0 Scheduler, butter smooth and stable, goes ..."
Click to expand...
Click to collapse
Hi betoNL,
just give the Abyss Kernel v3.7 another try. I am really satisfied with ABYSSPLUG governor and the SIO scheduler - great balance between performance and battery life. And it is also butter smooth and stable without any overclocking indeed ;-)
To be honest: I can't understand your problem with overheating. It could have its seeds in an app with unnormal behaviour or a constant hang-up in the background. Maybe you will execute this little turnaround at the next opportunity:
1. Charge your battery to 100%
2. Use a Taskkiller and kill every open task
3. Reboot in Recovery Mode and wipe voltage & battery stats (DON'T WIPE ANYTHING ELSE, PLEASE!)
4. Reboot yours system...
Best regards
[bs]
---------- Post added at 05:53 PM ---------- Previous post was at 05:50 PM ----------
Hi,
great poll... my vote goes to the abyssplug ;-)
Would be interesting to add users choice of the I/O scheduler.
What do you think about that little improvement?
Best regards
[bs]
As I said, I recommend AbyssPlug
I don't understand how abyssplug works. So I don't use it.
I do use lulzactive because it uses mostly my lowest frequency which drains battery the least when not stressed and highest frequency when stressed and basically ignores everything in between. It's been great.
can someone explain how abyssplug works? I've been searching, it only says modified hotplug. That doesn't tell me much.
Originally Posted by mancman
here the exact explanation on RootzWiki:
Wheatley governor
in short words this govenor is build on "ondemand" but increases the C4 state time of the CPU and doing so trying to save juice....
The known ones are really good described here one the setcpu page:
the rest is nice described here:the rest is nice described here:
lazy (http://forum.xda-developers.com/show....php?t=1276092) - is ondemand but with an added option to stay longer on a certain frequency. This is due to the fact that some CPU's dont like too quick freq changes when sampling rate for decision making is set too low. See link for more.
lulzactive (http://tegrak2x.blogspot.com/2011/11...vernor-v2.html) - is basically interactive governor with added smartass bits and variable (as opposed to fixed amout) frequency scaling, based on currently occuring cpu loads. Has, like smartass, a sleep profile built-in. See link for details on exact scaling.
lagfree (http://forum.xda-developers.com/show....php?t=1272933) - seems to be ondemand but with a lessend tendency to ramp up to 100% but rather also use steps available in between 0-100%.
intellidemand (freely translated from http://www.android-hilfe.de/root-hac...-governor.html) - behaves like ondemand when the system is under heavy use, it behaves differently when the system is mostly ideling. That mode is colled "browsing mode" or "browser mode" or whatever. It seems to be some sort of "intelligent" demand sensing/analysing ondemand governor.
smartassV2 - this one should be known. It's the same as smartass(V1) but tweaked. Same code author. I heard one should use smartassV2 instead of smartass when available.
ondemandx - is ondemand with an added sleep profile built-in. I believe all ...X kernels are the default kernels but with an added sleep profile.
AbyssPlug Governor:
Abyssplug governor is a modified hotplug governor
>>Hotplug Governor:
The "hotplug" governor scales CPU frequency based on load, similar to
"ondemand". It scales up to the highest frequency when "up_threshold"
is crossed and scales down one frequency at a time when "down_threshold"
is crossed. Unlike those governors, target frequencies are determined
by directly accessing the CPUfreq frequency table, instead of taking
some percentage of maximum available frequency.
The key difference in the "hotplug" governor is that it will disable
auxillary CPUs when the system is very idle, and enable them again once
the system becomes busy. This is achieved by averaging load over
multiple sampling periods; if CPUs were online or offlined based on a
single sampling period then thrashing will occur.
Sysfs entries exist for "hotplug_in_sampling_periods" and for
"hotplug_out_sampling_periods" which determine how many consecutive
periods get averaged to determine if auxillery CPUs should be onlined or
offlined. Defaults are 5 periods and 20 periods respectively.
Otherwise the standard sysfs entries you might find for "ondemand" and
"conservative" governors are there.
__________________
After goin thru this thread I tried the AbyssPlug governor.
And indeed its good so far.
Me likes!!!!!!!!!
Sent from my GT-N7000 using xda premium
My choice is lulzactive.
Most important things for me are smoothness, fast wake&unlock and gaming performance. I don't care about the battery life that much so it seems a perfect choice for me.
pjm77 said:
My choice is lulzactive.
Most important things for me are smoothness, fast wake&unlock and gaming performance. I don't care about the battery life that much so it seems a perfect choice for me.
Click to expand...
Click to collapse
I like lulzactive, too!
What, no smartassv2 love here ? I found it at least as good as lulzactive for my usage.
My priorities - Fast response after sleep, smoothness, battery.
My governor choices on top were : SmartAssV2 (Currently using), AbyssPlus (Used it, liked it, later will compare to SmartAssV2) and Lulzactive (which is pretty good as well).
betoNL said:
Originally Posted by mancman
here the exact explanation on RootzWiki:
Wheatley governor
in short words this govenor is build on "ondemand" but increases the C4 state time of the CPU and doing so trying to save juice....
The known ones are really good described here one the setcpu page:
the rest is nice described here:the rest is nice described here:
lazy (http://forum.xda-developers.com/show....php?t=1276092) - is ondemand but with an added option to stay longer on a certain frequency. This is due to the fact that some CPU's dont like too quick freq changes when sampling rate for decision making is set too low. See link for more.
lulzactive (http://tegrak2x.blogspot.com/2011/11...vernor-v2.html) - is basically interactive governor with added smartass bits and variable (as opposed to fixed amout) frequency scaling, based on currently occuring cpu loads. Has, like smartass, a sleep profile built-in. See link for details on exact scaling.
lagfree (http://forum.xda-developers.com/show....php?t=1272933) - seems to be ondemand but with a lessend tendency to ramp up to 100% but rather also use steps available in between 0-100%.
intellidemand (freely translated from http://www.android-hilfe.de/root-hac...-governor.html) - behaves like ondemand when the system is under heavy use, it behaves differently when the system is mostly ideling. That mode is colled "browsing mode" or "browser mode" or whatever. It seems to be some sort of "intelligent" demand sensing/analysing ondemand governor.
smartassV2 - this one should be known. It's the same as smartass(V1) but tweaked. Same code author. I heard one should use smartassV2 instead of smartass when available.
ondemandx - is ondemand with an added sleep profile built-in. I believe all ...X kernels are the default kernels but with an added sleep profile.
AbyssPlug Governor:
Abyssplug governor is a modified hotplug governor
>>Hotplug Governor:
The "hotplug" governor scales CPU frequency based on load, similar to
"ondemand". It scales up to the highest frequency when "up_threshold"
is crossed and scales down one frequency at a time when "down_threshold"
is crossed. Unlike those governors, target frequencies are determined
by directly accessing the CPUfreq frequency table, instead of taking
some percentage of maximum available frequency.
The key difference in the "hotplug" governor is that it will disable
auxillary CPUs when the system is very idle, and enable them again once
the system becomes busy. This is achieved by averaging load over
multiple sampling periods; if CPUs were online or offlined based on a
single sampling period then thrashing will occur.
Sysfs entries exist for "hotplug_in_sampling_periods" and for
"hotplug_out_sampling_periods" which determine how many consecutive
periods get averaged to determine if auxillery CPUs should be onlined or
offlined. Defaults are 5 periods and 20 periods respectively.
Otherwise the standard sysfs entries you might find for "ondemand" and
"conservative" governors are there.
__________________
Click to expand...
Click to collapse
Again, it's just a modified hotplug. What's modified about it?
betoNL said:
Oops ... you reacted fast ! The poll was not even ready
Click to expand...
Click to collapse
guess I was in chatty mood
BrainSex said:
\
To be honest: I can't understand your problem with overheating. It could have its seeds in an app with unnormal behaviour or a constant hang-up in the background. Maybe you will execute this little turnaround at the next opportunity:
1. Charge your battery to 100%
2. Use a Taskkiller and kill every open task
3. Reboot in Recovery Mode and wipe voltage & battery stats (DON'T WIPE ANYTHING ELSE, PLEASE!)
4. Reboot yours system...
Click to expand...
Click to collapse
Believe me I don't get it either and I'm pretty upset I can't use that kernel which is so valued by other android users. I was trying your advice and any other I could find in Abyss Kernel thread, nothing works for me. What is really funny I don't have any problems on other kernels. Well maybe I'm just unlucky this way. I'm thinking about getting my Note to Samsung for screen display exchange, so maybe they can do something about overheating too, maybe it's hardware related.
Thank you for your interest and advice
anyone using the app 2nd core and turning on dynamic hotplug?
It rly helps the battery
Might be useless to use along side abyssplug tho since it does the same thing
I use lulzactive, don't care about a little more battery drain
I use too 500mhz minimum speed @ 800mv, with it is pretty strange because 100 and 200 are not stable at that voltage and need 825, so having more speed I use less battery.
You don't use less battery because it's not only determined by voltage. Frequency us also a factor in power consumption, so 100MHz at 825 uses less battery for sure.
Sent from my superior GT-N7000 using Tapatalk
Zamboney said:
You don't use less battery because it's not only determined by voltage. Frequency us also a factor in power consumption, so 100MHz at 825 uses less battery for sure.
Sent from my superior GT-N7000 using Tapatalk
Click to expand...
Click to collapse
There's a post here somewhere here in the gnote forum that shows a study where they explain how 50 and 100MHz do consume more battery cause the CPU gets more stressed and takes longer to perform the task that would take less time and effort to accomplish at a higher frequency (or something like that)
Actually a higher frequency @ same voltage as a lower frequency would consume LESS battery because it will complete the task faster.
Sent from my GT-N7000 using Tapatalk
With my setup only ondemand really worked well, my second core scaling is always set to 2 cores enabled and I have a landscape setting for ADWex and any other governor will give me like 10-15fps when opening the app drawer.
Abyssplug fits my needs: I don't need so much power (no playstation-like games) but I use phone h24, from music to calls, from surfing to calendar/alarm...quite all stuff by BT headset and voice command. Battery drains slower than expected, my Note stays alive 'till night
Right i am not going to bore you with long ass intros or long essays on how to do this and how to do that. All i did was share my results on a thread and people started messaging me about my settings and what configurations i use. So i will make it all simple for you. I am opening a thread so you can see what settings i am using and use it as a guide and adjust them or use my own settings if you want to get the best out of your battery and enjoy more your baby. Plus this thread is for you guys to stop private messaging me as i am getting loads of messages and hardly have time to reply to you all.
First off and call it a disclaimer if you want, what WORKS on my phone might not work for yours. So as i said above, use my settings if you want, but if you have problems then tweak them to an effect your phone runs smoothly. Infact with my settings you get the balance of both worlds, Performance and battery life. But let me say this i am just providing you guys with my settings and what works for me. Now if you get any problems or errors which you should not do not come here crying as i have not forced these settings on anyone. The below settings are for people like myself who do not know how to use a script to tweak a governor, and by having this app makes life a lot easier and by me helping with my settings i hope it can provide the balance of good battery life and performance to people.
I know Geko95gek has his MagicConfig thread and my thread is different to his, as my thread is just to help people with the Lulzactive app settings and give them a guide on how to start and use it and how to get the best out off it. His is more to do with voltages of cpu and GPU. You can use his MagicConfig and use my Lulzactive apps settings if you want. Big shout out to him for his magic.
Please also follow the bottom link for a bit more in depth info on a How to guide for undervolting.(many thanks to Eric-filth)
http://forum.xda-developers.com/showthread.php?t=1532999
Anyway here are the settings that i use and please use as a guide:
Lulzactive app Settings:
inc_cpu_load: 75%
pump_up_step: 3
pump_down_step:2
screen_off_min_step: 4,@200MHz
up_sample_time: 50000
down_sample_time: 30000
debug_mode: 0
Setting up your Lulzactive app with your configurations:
To be able to use the above settings as already stated you need the Lulzactive application were it can be found here:https://play.google.com/store/apps/details?id=com.tegrak.lulzactive&hl=en.
Once you have installed it then you need to have Voltage Control which i recommend or any other cpu tuner program installed on your phone like(SetCpu, NoFrills, Tegrak OC) to be able to set lulzactive governor as default.
Once you have done that then go ahead and input my settings or your own. The exact way i have it laid out, is the same on the app.
Once you have done inputting the settings always make sure you have SET ON BOOT ticked.
Come out of the app and reboot. Wait for the phone to load up properly then go back into the application to make sure the settings have been set up properly and stayed. And that is it. :
Voltage Control Configuration:
*Governor: Lulzactive (of course)
*Scheduler: VR - Noop
Voltages
1200Mhz - 1150mV
1000Mhz - 1050mV
800Mhz - 1000mV
500Mhz - 950mV
200Mhz - 900mV
100Mhz - 850mV
GPU ControlLow power state - High power estate114Mhz - 950mV / 267Mhz - 1050mV
Now i will present to you settings that you can use with a different governor and scheduler. Call this Rock Solid Config v1.1 if you like.
Voltages
1200Mhz - 1175mV
1000Mhz - 1100mV
800Mhz - 975mV
500Mhz - 950mV
200Mhz - 850mV
100Mhz - 850mV
GPU Control:Low Power state: 133Mhz - 900mV
High Power State: 267Mhz - 1000mv
Scheduler: Noop
Governor: Conservative
Misc Tweaks: Ext4 Boost- Sched_Mc
So there you have it. Those are my settings that i use currently with NEAK kernel and work like a charm for me. Feel free to use my configuration if you like but please consider that everyones phone is different. So feel free to use mine as a guide and either feel free to undervolt more if you like or if you find that you are getting freezes then up the steps by either 25mV or 50mv
Feel free to post your results here as i would like to know if my settings work or not and also your battery results to show if my settings actually do something towards your battery.
Just a few thanks in order as well i think:
Simone201: for his awesome kernel and configurator.
Tegrak: For his awesome lulzactive app(makes my life alot easier to tweak it this way instead of scripts)
Gokhanmoral: just for his siyah kernel and i have all the time in the world for that guy as he is a legend in my eyes
Geko95gek: for being just a crazy ass Yoda and providing everyone with his MagicConfig
GC and LeoMar75: For the awesome rom
So_ony: cause i have to say it was her idea behind this brainchild of a thread.
Droidphile: For his awesome thread regarding all the information you need regarding kernels
And to you all who keep pestering me for my settings this thread is for you guys.
Information on misc tweaks, plus my favorite governors and schedulers i recommend
Abit more info regarding what are the misc options in the NEAK configurator application. (Many thanks to Droidphile for all the information)
Q. "What are these modes: IDLE, LPA and AFTR?"
A. Between screen off and deep sleep states, there are some idle modes supported by cpuidle driver. They are IDLE aka Normal Idle, LPA aka Deep Idle and AFTR aka ARM Off Top Running. Race to idle by CPU is implemented for power management.
In IDLE state, CPU is not clocked anymore, but no hardware is powered down.
In deep idle (LPA),a state after IDLE, again, the cpu is not clocked anymore like we guessed but some parts of hardware are powered down. Deep idle brings in real power savings and there is no need of putting a hard limit to frequency during screen-off; using a screen-off profile. (Good practice is to use a governor with built in screen off profile, than using an user-configured screen-off profile by putting a hard limit on frequency). Deep idle is not used when device is entering deep sleep and also when device is woken from suspend/deep sleep. While entering/exiting DEEP IDLE, CPU is set statically to SLEEP_FREQ and is not clocked below or above until it exits this state.
AFTR is a patch to support Top=Off mode for deep idle. Level 2 cache keeps it data during this mode.
We can have IDLE or AFTR modes with LPA enabled or disabled. (Obviously it is not possible to have IDLE and AFTR together)
Values:
0: IDLE
1: AFTR
2: IDLE+LPA
3: AFTR+LPA
Q. "What idle modes are recommended for power saving? How do i change it"?
A. Recommended for power saving is to enable AFTR and LPA, ie value 3
Example:
echo "3" > /sys/module/cpuidle/parameters/enable_mask
Q. "What is sched_mc?"
A. Linaro team invented sched_mc or Schedule Multi Core to make process scheduling multi-core aware. ie, utilize both cores wisely to save power and balance performance. Even though sched_mc is sort of an alternative to cpu hot plugging, we can use sched_mc with the default hot plug mode.
Possible Values:
0 : No power saving load balance, default in our exynos4210 Soc.
1 : Fill one thread/core/package first for long running threads. In our single-CPU dual-core device, multithreading does not come into picture, so load balancing is almost redundant to hotplugging.
2 : Also bias task wake-ups to semi-idle CPU package for power savings. (Bias new tasks to cpu1 if cpu0 is mostly filled with running tasks). This is 'overloading' CPU0 first.
Q. "What value is recommended for sched_mc?"
A. 1) If you find advantages to sched_mc, use sched_mc=1 for a possible battery saving. Anyhow since load-balancing is reduntant on hotplugging, it may not have any advantage on exynos chip.
2) For performance use 2. But do remember that loading CPU0 and leaving CPU1 can not do justice to hitting deep idle states sooner since second core can not enter deep idle. So extra performance or no performance, value 2 will drain some more battery, in the context of delayed didle.
3) To do justice to hotplugging, use value 0.
Example:
echo "0" /sys/devices/system/cpu/sched_mc_power_savings.
Schedulers that i recommend to use. Again massive thanks to Droidphile for the information.
Noop
Inserts all the incoming I/O requests to a First In First Out queue and implements request merging. Best used with storage devices that does not depend on mechanical movement to access data (yes, like our flash drives). Advantage here is that flash drives does not require reordering of multiple I/O requests unlike in normal hard drives.
Advantages:
Serves I/O requests with least number of cpu cycles. (Battery friendly?)
Best for flash drives since there is no seeking penalty.
Good throughput on db systems.
Disadvantages:
Reduction in number of cpu cycles used is proportional to drop in performance.
V(R)
Unlike other schedulers, synchronous and asynchronous requests are not treated separately, instead a deadline is imposed for fairness. The next request to be served is based on it's distance from last request.
Advantages:
May be best for benchmarking because at the peak of it's 'form' VR performs best.
Disadvantages:
Performance fluctuation results in below-average performance at times.
Least reliable/most unstable.
Governors that i recommend to use. Information again by Droidphile.
Lulzactive:
This new find from Tegrak is based on Interactive & Smartass governors and is one of the favorites.
Old Version: When workload is greater than or equal to 60%, the governor scales up CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step. When screen is off, frequency is locked to global scaling minimum frequency.
New Version: Three more user configurable parameters: inc_cpu_load, pump_up_step, pump_down_step. Unlike older version, this one gives more control for the user. We can set the threshold at which governor decides to scale up/down. We can also set number of frequency steps to be skipped while polling up and down.
When workload greater than or equal to inc_cpu_load, governor scales CPU pump_up_step steps up. When workload is less than inc_cpu_load, governor scales CPU down pump_down_step steps down.
Example:
Consider
inc_cpu_load=70
pump_up_step=2
pump_down_step=1
If current frequency=200, Every up_sampling_time Us if cpu load >= 70%, cpu is scaled up 2 steps - to 800.
If current frequency =1200, Every down_sampling_time Us if cpu load < 70%, cpu is scaled down 1 step - to 1000.
Conservative:
A slower Ondemand which scales up slowly to save battery. The conservative governor is based on the ondemand governor. It functions like the Ondemand governor by dynamically adjusting frequencies based on processor utilization. However, the conservative governor increases and decreases CPU speed more gradually. Simply put, this governor increases the frequency step by step on CPU load and jumps to lowest frequency on CPU idle. Conservative governor aims to dynamically adjust the CPU frequency to current utilization, without jumping to max frequency. The sampling_down_factor value acts as a negative multiplier of sampling_rate to reduce the frequency that the scheduler samples the CPU utilization. For example, if sampling_rate equal to 20,000 and sampling_down_factor is 2, the governor samples the CPU utilization every 40,000 microseconds.
Lionheart:
Lionheart is a conservative-based governor which is based on samsung's update3 source. Tweaks comes from 1) Knzo 2) Morfic. The original idea comes from Netarchy. See here. The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.
Lionheart goes well with deadline i/o scheduler. When it comes to smoothness (not considering battery drain), a tuned conservative delivers more as compared to a tuned ondemand.
Do not forget to enable the Lionheart tweaks you must have Conservative governor enabled through the configurator application and then select Lionheart tweaks
Links
*N.E.A.K kernel:
http://forum.xda-developers.com/showthread.php?t=1411788
*Droidphile thread regarding more info about governors and schedulers and more tweaks
http://forum.xda-developers.com/showthread.php?t=1369817
*Ext4 Optimization information
http://kernelnewbies.org/Ext4
*N.E.A.K Configurator App.
https://play.google.com/store/apps/details?id=com.neak.NEAK_Configurator
*If you want to try alternative settings from mine and try settings near stock default go to the following thread by Geko95gek and check his great thread out.
http://forum.xda-developers.com/showthread.php?t=1466017
And your voltage conttol settings??
Tapatalk on SGSII (Powered by CheckROM RevoHD V6, SiyahKernel 2.6.12 + MagicConfig 0.3.1, Modem KI4)
edwardeutsch said:
And your voltage conttol settings??
Tapatalk on SGSII (Powered by CheckROM RevoHD V6, SiyahKernel 2.6.12 + MagicConfig 0.3.1, Modem KI4)
Click to expand...
Click to collapse
start with the MagicConfig mate. That should be good enough.
Great thread to start tweaking with Lulzactive governor. Should make life easier for a lot of people, gives them the opportunity to gain extra battery juice without too many headaches.
geko95gek said:
Great thread to start tweaking with Lulzactive governor. Should make life easier for a lot of people, gives them the opportunity to gain extra battery juice without too many headaches.
Click to expand...
Click to collapse
Thanks mate. And with your magic config people can have the best of both worlds. Shame we can't merge the two...Anyway thanks mate much appreciated for your kind words
Why pump up 4 steps? For performance or? The rest of the settings i can see the meaning in, but why pump up four steps?
Else, awesome thread! God starting point for many!
Pennywice said:
Why pump up 4 steps? For performance or? The rest of the settings i can see the meaning in, but why pump up four steps?
Else, awesome thread! God starting point for many!
Click to expand...
Click to collapse
Thanks mate...For performance yes but also if you see the other settings you will see they are leaning more towards the battery side. Hence why i wanted to go for a balance between the two if that makes sense. I will be trying different settings and i will provide screenshots of my results and will provide the settings for each result i do.
Stifler69 said:
Thanks mate. And with your magic config people can have the best of both worlds. Shame we can't merge the two...Anyway thanks mate much appreciated for your kind words
Click to expand...
Click to collapse
i see you have listen to me and you have opened a new thread nice mate
so_ony said:
i see you have listen to me and you have opened a new thread nice mate
Click to expand...
Click to collapse
check OP
Stifler69 said:
check OP
Click to expand...
Click to collapse
oh how cute thanks hehe =) geko didn't answer my email :/
your description is short but everything is described very well !
so_ony said:
oh how cute thanks hehe =) geko didn't answer my email :/
your description is short but everything is described very well !
Click to expand...
Click to collapse
any ideas on how to get this thread going please let me know..and glad you liked my OP
so_ony said:
oh how cute thanks hehe =) geko didn't answer my email :/
Click to expand...
Click to collapse
So sorry for the delay. Please feel free to punish me.
I want understand one thing sorry my noobless.
What magic have in magicConfig from geko?
Enviado do meu nokia 3320 modificado por laboratório usando Tapatalk
great...now something to use when im on check and neak...nice work stiffy!!!
Good work Stifler, im trying your magic configuration and it Owns..!! Just right now im experiencing a little more battery drain against just the +conservative+lionheart+ext4+AFTR config.
Ill give it some days with full charge and check.
Stifler69 said:
Anyway here are the settings that i use and use as a guide:
Lulzactive app Settings:
inc_cpu_load: 95%
pump_up_step: 4
pump_down_step:1
screen_off_min_step: 4,@200MHz
up_sample_time: 20000
down_sample_time: 40000
debug_mode: 0
Click to expand...
Click to collapse
Out of curiosity what are the default Lulzactive settings on NEAK 1.4 compared to those above???
Those lulzactive setting seem to be replicated from ThunderBolt! ain't it. Down to the last setting :/
pikachu01 said:
Those lulzactive setting seem to be replicated from ThunderBolt! ain't it. Down to the last setting :/
Click to expand...
Click to collapse
Hey mate. Actually I have never seen you around on any posts sharing these settings or even opened thunderbolt scripts to see how you tweak lulz governor. I have nothing but for respect for you Pika as I see how great you thread is and how popular your scripts are. These settings that I am using are a start up from me from playing around with the app and sharing my findings with friends. If it brings offence to you I will bring it down. But I swear to you I have never used your scripts as one I do not how to use them and two I prefer apps to do the work for me as I hate to many scripts in my phone. I would love your help here if possible on what to help people though
eric-filth said:
I want understand one thing sorry my noobless.
What magic have in magicConfig from geko?
Enviado do meu nokia 3320 modificado por laboratório usando Tapatalk
Click to expand...
Click to collapse
well just take a look at his thread my friend. his voltage control settings are shared nearly by 700 users on xda and have reported nothing but good stuff from it. i do not want to share my settings as i Undervolt quite heavy so my settings would not work with most on here. so i used his thread for people who would ask for settings apart from my lulz app ones.
jermitano said:
great...now something to use when im on check and neak...nice work stiffy!!!
Click to expand...
Click to collapse
Thanks mate. first post settings are just a start up. i will be trying different settings with different kernels and still use Lulzactive as i want to show people my results and they can choose what settings to go for. i will always post a little review as well so users can decide which one to go for.
Honchay said:
Good work Stifler, im trying your magic configuration and it Owns..!! Just right now im experiencing a little more battery drain against just the +conservative+lionheart+ext4+AFTR config.
Ill give it some days with full charge and check.
Click to expand...
Click to collapse
You would get a bit of drain my friend but again it is all about how you have your phone setup and what settings in VC you are using. but hope the settings have some benefit for you though
kersey said:
Out of curiosity what are the default Lulzactive settings on NEAK 1.4 compared to those above???
Click to expand...
Click to collapse
not sure mate.
Hi everyone,
I've been reading this
http://forum.xda-developers.com/nexus-5x/general/guide-advanced-interactive-governor-t3269557
and was wondering if anybody was interested and knew their way around to try and adapt these tweaks for our trusty htc ones?
Some n5x users (specifically those who tend to not game heavily or use the camera extensively) seem to reek performance boosts while also considerably extending SOT. The OP's tweaks got the attention (and as far as I know the support) of flar2 (elementalx kernel) considering he implemented the ability to apply profiles into his ex kernel manager specifically so the interactive governor settings could be applied more easily (unless I misunderstood something - correct me if I'm wrong on that). These tweaks can be made regardless of kernel or rom - the only prerequisite is the availability of the interactive governor. It may be something worth looking into and I'm willing to learn and test - I just kinda need someone to take me by the hand and help and explain because I feel a bit lost in regards to how to best proceed :silly:
What do you guys think?
over the next few days,im gonna be working on testing out some settings (of course following that guide)
if i get anywhere with them,i shall share them
That's great to hear, thank you :good: If I can be of any help please let me know!
These are my minimal settings for now based on my usage analysis . Will probably adjust them with battery performance this week.
Idle - 384000
Page Scrolling - 702000
Video - 918000
App Loading - 1134000
High Load Processing - 1728000 ( or 1566000 )
Sinistersky said:
These are my minimal settings for now based on my usage analysis . Will probably adjust them with battery performance this week.
Idle - 384000
Page Scrolling - 702000
Video - 918000
App Loading - 1134000
High Load Processing - 1728000 ( or 1566000 )
Click to expand...
Click to collapse
If this is a stupid question I apologise but how do you apply these in ex kernel manager (or equivalent app you use)?
antimatter.web said:
If this is a stupid question I apologise but how do you apply these in ex kernel manager (or equivalent app you use)?
Click to expand...
Click to collapse
This is my setup right now. Can someone who is working on this check if I did it correctly, I have some stuttering here and there so I think i'm missing something, since it should be buttery smooth and battery friendly.
Sinistersky said:
This is my setup right now. Can someone who is working on this check if I did it correctly, I have some stuttering here and there so I think i'm missing something, since it should be buttery smooth and battery friendly.
Click to expand...
Click to collapse
Thanks :good:
Again, I'm not sure about this, but I believe you shouldn't be needing to spend that much time at max. frequency. No idea how to get it down, but I feel like I did read something in the original thread. To me (as a fairly noob, layman forum user) that 32% seems high.
Have you seen any battery savings with your current setup?
antimatter.web said:
Thanks :good:
Again, I'm not sure about this, but I believe you shouldn't be needing to spend that much time at max. frequency. No idea how to get it down, but I feel like I did read something in the original thread. To me (as a fairly noob, layman forum user) that 32% seems high.
Have you seen any battery savings with your current setup?
Click to expand...
Click to collapse
Yea, I kinnda have. But Im still tweaking it. I just dont know how to bring down the frequency It's like I setup something wrong. I do have more battery life, but I think I can do even better. Just need the right values
Sinistersky said:
Yea, I kinnda have. But Im still tweaking it. I just dont know how to bring down the frequency It's like I setup something wrong. I do have more battery life, but I think I can do even better. Just need the right values
Click to expand...
Click to collapse
One follow up to my post on the N5X thread: (http://forum.xda-developers.com/showpost.php?p=66100620&postcount=2990)
set
highspeed freq to 810000 or 702000
go highspeed load to a value between 95 and 98
the first value on taget loads to 95 384... (90 or anything lower should be ok, too, doesn't matter much as this already is the lowest freq)
the target_load value for your highspeed freq (the value after the ":" ) to a value between 81 and 90
---Edit:
Oh, and: lower target_loads => earlier to the next freq => less laggy. You can tweak that behavior with the delays and timer rate, too
But: Many frequency changes / jumps => more lag
.hEiMDaLL. said:
One follow up to my post on the N5X thread: (http://forum.xda-developers.com/showpost.php?p=66100620&postcount=2990)
set
highspeed freq to 810000 or 702000
go highspeed load to a value between 95 and 98
the first value on taget loads to 95 384... (90 or anything lower should be ok, too, doesn't matter much as this already is the lowest freq)
the target_load value for your highspeed freq (the value after the ":" ) to a value between 81 and 90
---Edit:
Oh, and: lower target_loads => earlier to the next freq => less laggy. You can tweak that behavior with the delays and timer rate, too
But: Many frequency changes / jumps => more lag
Click to expand...
Click to collapse
Ok. So what happens if I don't set every frequency? I think I saw a EVO 4G thread with this and OP had only 3 freq set in the target_load ? Is that more efficient? So to make this have proper results, I need to change the numbers after ":" until i get the perfect results?
--Edit:
Ok. These are waaay better results than I ever had. Now the other frequencies are actually being used
Sinistersky said:
Ok. So what happens if I don't set every frequency? I think I saw a EVO 4G thread with this and OP had only 3 freq set in the target_load ? Is that more efficient? So to make this have proper results, I need to change the numbers after ":" until i get the perfect results?
Click to expand...
Click to collapse
It uses the target_loads you set for the lower freq. efficiency depends on the numbers it's less text to write if the loads are all the same for each freq...
The numbers behind the ":" (the target_loads) are only one part. the other settings like timer_rate and above_highspeed_delay have a huge impact on how fast the cpu reacts under load, too. sonicron described them very well in his guides.
---EDIT:
Seems you are on the right way with these values. Max freq still is used a bit to much, but I'm sure you'll find the best values after some tries. Took me hours, sometimes days to set up my profiles...
.hEiMDaLL. said:
It uses the target_loads you set for the lower freq. efficiency depends on the numbers it's less text to write if the loads are all the same for each freq...
The numbers behind the ":" (the target_loads) are only one part. the other settings like timer_rate and above_highspeed_delay have a huge impact on how fast the cpu reacts under load, too. sonicron described them very well in his guides.
---EDIT:
Seems you are on the right way with these values. Max freq still is used a bit to much, but I'm sure you'll find the best values after some tries. Took me hours, sometimes days to set up my profiles...
Click to expand...
Click to collapse
Yes, I keep re-reading sonicron's first post due to not understanding it so well even though he explained it with so much detail, but the way I see it, if I'm correct, increasing timer_rate makes the cpu use the lower frequencies more, or the jumps between frequencies are faster? I set the timer_rate to 40000 now, just to see if it will prolong my battery. And why is the timer_slack in N5X set to -1? What's the purpose of that? If i understand correctly, it makes the switch between frequencies incredibly fast, almost instant??
Thank you for guiding me so far with this. I understand these might seem as annoying questions, but I'm trying to learn as much as I can through them
Sinistersky said:
Yes, I keep re-reading sonicron's first post due to not understanding it so well even though he explained it with so much detail, but the way I see it, if I'm correct, increasing timer_rate makes the cpu use the lower frequencies more, or the jumps between frequencies are faster? I set the timer_rate to 40000 now, just to see if it will prolong my battery. And why is the timer_slack in N5X set to -1? What's the purpose of that? If i understand correctly, it makes the switch between frequencies incredibly fast, almost instant??
Thank you for guiding me so far with this. I understand these might seem as annoying questions, but I'm trying to learn as much as I can through them
Click to expand...
Click to collapse
I've read sonicrons first post a few times myself (as I'm very interested in the idea) but my technical knowhow stops at basic adb and recovery knowledge for flashing roms... May I bother you for the current values you are using? Sorry if I seem like I'm not trying - I am
antimatter.web said:
I've read sonicrons first post a few times myself (as I'm very interested in the idea) but my technical knowhow stops at basic adb and recovery knowledge for flashing roms... May I bother you for the current values you are using? Sorry if I seem like I'm not trying - I am
Click to expand...
Click to collapse
Yes, of course. You can have it, it's no bother. I'll attach my settings. However, these are not final. The phone jitters here and there, and I think the battery life is better by only a slight percent. I am hoping during hte next few days to find values that wil give more SoT and smooth performance. I will also need help with that
Sinistersky said:
Yes, of course. You can have it, it's no bother. I'll attach my settings. However, these are not final. The phone jitters here and there, and I think the battery life is better by only a slight percent. I am hoping during hte next few days to find values that wil give more SoT and smooth performance. I will also need help with that
Click to expand...
Click to collapse
Thanks for those I will apply those and see how they work for me. I'm currently using CM12.1 (Snapshot) and greenify for a few apps. What setup are you using?
If I can be of any help (I'm not going to pretend I will be of much) please let me know
Edit: I may have spotted an error: in the first line of target loads your second frequency should be 486000:60 not 48600:60, right? Could that be the reason for your jitters maybe?
antimatter.web said:
Thanks for those I will apply those and see how they work for me. I'm currently using CM12.1 (Snapshot) and greenify for a few apps. What setup are you using?
If I can be of any help (I'm not going to pretend I will be of much) please let me know
Edit: I may have spotted an error: in the first line of target loads your second frequency should be 486000:60 not 48600:60, right? Could that be the reason for your jitters maybe?
Click to expand...
Click to collapse
Yes, that is correct. I spotted it myself this morning. And the battery life has gotten insane. 8% in 1 hour of texting and screen on :highfive: So generally, this would mean about 8 hours of screen on time for sure.
--EDIT: Im using AICP with stock kernel and greenify and amplify
Sinistersky said:
Yes, I keep re-reading sonicron's first post due to not understanding it so well even though he explained it with so much detail, but the way I see it, if I'm correct, increasing timer_rate makes the cpu use the lower frequencies more, or the jumps between frequencies are faster? I set the timer_rate to 40000 now, just to see if it will prolong my battery. And why is the timer_slack in N5X set to -1? What's the purpose of that? If i understand correctly, it makes the switch between frequencies incredibly fast, almost instant??
Thank you for guiding me so far with this. I understand these might seem as annoying questions, but I'm trying to learn as much as I can through them
Click to expand...
Click to collapse
In short, the timer_rate is just the intervall after which the governor reevaluates the loads. So it doesn't affect which frequencies are used more, but how long it "waits" to check whether it should go up to the next freq. However, this is indirectly linked to the fact, that the device will stay at a lower freq for longer.
After the decision is made to change the freq, the next thing that keeps the cpu ramp up to the next freq instantly is the delay timer (above_highspeed_delay)
timer_slack defines the max additional time that can be added to timer_freq, thus the time to defer handling the governor sampling timer.
From kernel docs: [...] at speeds greater than minimum, this places an upper bound on how long the timer will be deferred prior to re-evaluating load and dropping speed.
For example, if timer_rate is 20000uS and timer_slack is 10000uS then timers will be deferred for up to 30msec when not at lowest speed.
A value of -1 means defer timers indefinitely at all speeds. Default is 80000 uS.
here's the link to the document. Might come in handy https://android.googlesource.com/kernel/common/+/android-3.4/Documentation/cpu-freq/governors.txt
Questions are there to be asked and do not only help the one who asked the question, but the one who get's asked as well So asking and answering, both can be about learning something new, for both parties.
.hEiMDaLL. said:
In short, the timer_rate is just the intervall after which the governor reevaluates the loads. So it doesn't affect which frequencies are used more, but how long it "waits" to check whether it should go up to the next freq. However, this is indirectly linked to the fact, that the device will stay at a lower freq for longer.
After the decision is made to change the freq, the next thing that keeps the cpu ramp up to the next freq instantly is the delay timer (above_highspeed_delay)
timer_slack defines the max additional time that can be added to timer_freq, thus the time to defer handling the governor sampling timer.
From kernel docs: [...] at speeds greater than minimum, this places an upper bound on how long the timer will be deferred prior to re-evaluating load and dropping speed.
For example, if timer_rate is 20000uS and timer_slack is 10000uS then timers will be deferred for up to 30msec when not at lowest speed.
A value of -1 means defer timers indefinitely at all speeds. Default is 80000 uS.
here's the link to the document. Might come in handy https://android.googlesource.com/kernel/common/+/android-3.4/Documentation/cpu-freq/governors.txt
Questions are there to be asked and do not only help the one who asked the question, but the one who get's asked as well So asking and answering, both can be about learning something new, for both parties.
Click to expand...
Click to collapse
Is there an app that I could use to determine instantly what load the CPU uses when I open chrome, or messenger or just scroll around?
I want to make it so I get a higher frequency on the app opening load, and a lower one on the idle and scrolling load. But if i for instance, set target_load 1566000:85, it uses the 1242000:89 for app opening I think, since it's kinnda laggier?
I can't get rid of these little jitters when switching screens, or apps I'm trying to learn what happens if I put higher numbers after ":" on certain mHz, does that make it so it stays longer on that mHz value or does it wait longer before it goes higher/lower to/from that mHz? And if so, would it be logical and less laggy to put something like 1242000:50 1350000:83 1458000:80 1566000:87 ( I'm guessing these frequencies are used the most when opening an app?)
Sinistersky said:
Is there an app that I could use to determine instantly what load the CPU uses when I open chrome, or messenger or just scroll around?
I want to make it so I get a higher frequency on the app opening load, and a lower one on the idle and scrolling load. But if i for instance, set target_load 1566000:85, it uses the 1242000:89 for app opening I think, since it's kinnda laggier?
I can't get rid of these little jitters when switching screens, or apps I'm trying to learn what happens if I put higher numbers after ":" on certain mHz, does that make it so it stays longer on that mHz value or does it wait longer before it goes higher/lower to/from that mHz? And if so, would it be logical and less laggy to put something like 1242000:50 1350000:83 1458000:80 1566000:87 ( I'm guessing these frequencies are used the most when opening an app?)
Click to expand...
Click to collapse
I use the overlays from DevCheck by flar2 and the process/cpu usage overlay one can enable in the developer options in settings. I guess there are plenty of tools/apps out there that do the same (I remember an app called "cool tool" which I had on my M7).
The jitters might get better when you change the delays (and/or timer rate to a lower value). setting the target_loads lower also helps, but you have to remember that the frequency might not be used at all (which is not a bad thing in general). When you set the load to eg. 40, the cpu will will go up to the next frequency as soon as the load under actual circumstances reaches 40%. As an example (with fantasy numbers): With a setting like 1000000:80 1100000:30 1200000:80, the 1100MHz might never be used at all when ramping up, cause the 80% at 1000MHz are already higher than 30% at 1100MHz. Of course, if the gap between those two frequencies would be higher (lets say 1000MHz and 2100MHz) the cpu might not be ulilized over 30% when coming from 80% at 1000MHz). Thats why you have to calculate the efficient loads, to find out what the most (power) efficient frequencies are, and give those a bit more "priority". You can do this by setting the target load higher on those (lower on the others)
I can't tell you what numbers (target_loads) you have to put in, I'd need the actual device to test how it performs under different loads with stock and tweaked settings.
.hEiMDaLL. said:
I use the overlays from DevCheck by flar2 and the process/cpu usage overlay one can enable in the developer options in settings. I guess there are plenty of tools/apps out there that do the same (I remember an app called "cool tool" which I had on my M7).
The jitters might get better when you change the delays (and/or timer rate to a lower value). setting the target_loads lower also helps, but you have to remember that the frequency might not be used at all (which is not a bad thing in general). When you set the load to eg. 40, the cpu will will go up to the next frequency as soon as the load under actual circumstances reaches 40%. As an example (with fantasy numbers): With a setting like 1000000:80 1100000:30 1200000:80, the 1100MHz might never be used at all when ramping up, cause the 80% at 1000MHz are already higher than 30% at 1100MHz. Of course, if the gap between those two frequencies would be higher (lets say 1000MHz and 2100MHz) the cpu might not be ulilized over 30% when coming from 80% at 1000MHz). Thats why you have to calculate the efficient loads, to find out what the most (power) efficient frequencies are, and give those a bit more "priority". You can do this by setting the target load higher on those (lower on the others)
I can't tell you what numbers (target_loads) you have to put in, I'd need the actual device to test how it performs under different loads with stock and tweaked settings.
Click to expand...
Click to collapse
Oh, so, if I understand this correctly, the number after ":" is like a roof. And when the CPU load hits that roof, it goes to a higher frequency, for example if i have 810000:81, as soon as the load goes to 81 it will switch to 918000, which is the next frequency ? And If i put 918000:90, it will stay on 918 mHz until the CPU load reaches 90? and then go to the next one? And the timer is just used to determine how long it takes to jump between the frequencies? So, what happens if I put 0 on the timers? Do they do it instantly? Does it take more battery life that way?