System Profiling with Qualcomm Trepn - E 2015 General

I just discovered a very nifty little system and application profiling app called Trepn made by Qualcomm. You'll find it on the Play Store. I used it to examine the idle and low load CPU behaviour on several phones and ROMs. I was quite shocked by how terrible the CPU governor and hotplug behaviour is on stock Motorola ROMs (with the default interactive governor and mpdecision etc.)
On the Surnia stock 5.1 ROM, with the mild periodic load of the profiler (and no other apps running), all four cores were simultaneously staying above 1 GHz most of the time. The average (normalized) CPU load was only 14% when running the profiler. Switching from interactive to the ondemand governor improved things a bit (two CPUs at full speed, two at idle), but it was still pretty silly. These results probably explain why my phone gets so hot after half an hour of navigation with google maps. Google maps navigation is not that intensive, but the governor keeps all four CPUs maxed out at full speed, burning through battery and generating excessive heat for a moderate load.
I highly recommend curious users to try running Trepn on their own devices. Be aware that the profiler has some overhead and causes the CPU to work a bit harder than when at idle. For low overhead profiling of idle behaviour, I recommend going into the Trepn Advanced Mode and just running "Profile System" without showing real time graphs. Run it for 30+ seconds, then click on the stats button and look at the average results. For profiling medium/light loads, try the "Performance Graph" mode from the list of preset profilers. For profiling other heavier things, you can run the app in the background and also display overhead graphs if you'd like.
Anyways, in light of this appalling behaviour of the stock kernel/ROMs governor and hotplug, I've been inspired to work on addressing this battery waste and unnecessary heat generation. I might incorporate some existing custom hotplug and governor things in my kernels, or I might build my own governor+hotplug+thermal throttling system. Actually, I'm tempted to do the latter because it sounds more fun and I have a bunch of ideas floating around my head.

Why are you shocked? Stock Mpdecision has always been poor, hence the alternatives such as intelli plug, alucard, msm, and so on. Also interactive seems to be popular with stock kernels, but the scaling is extremely aggressive with no bias for battery.
Sent from my XT1528

Ace42 said:
Why are you shocked? Stock Mpdecision has always been poor, hence the alternatives such as intelli plug, alucard, msm, and so on. Also interactive seems to be popular with stock kernels, but the scaling is extremely aggressive with no bias for battery.
Sent from my XT1528
Click to expand...
Click to collapse
The stock surnia ROM actually doesn't even use mpdecision (it is commented out in the init scripts). I was shocked that Motorola would let such an inefficient configuration go by. I suppose that the battery was big enough for them to not notice the waste.
Interestingly, my 2014 Moto X is also running a fairly inefficient configuration (4 CPUs active all the time, with three at 1.2 GHz and one at 2.5 GHz when idle). The 2014 Moto X does have a small battery and would benefit greatly from optimization.
Anyway, I ended up accomplishing a lot more than I expected this evening. I actually created a new governor (based off conservative) that I called "Lionfish." My new governor combines the conservative approach with a a go_hispeed_load type feature for better responsiveness, and features more aggressive frequency reduction when the load goes down. I've been testing my new governor and I'm very pleased with the results.
I also incorporated faux123's intelliplug into my kernel, and it too is helping a lot.
I hope to release my new (and greatly improved) kernel in the next week or two.

squid2 said:
The stock surnia ROM actually doesn't even use mpdecision (it is commented out in the init scripts). I was shocked that Motorola would let such an inefficient configuration go by. I suppose that the battery was big enough for them to not notice the waste.
Interestingly, my 2014 Moto X is also running a fairly inefficient configuration (4 CPUs active all the time, with three at 1.2 GHz and one at 2.5 GHz when idle). The 2014 Moto X does have a small battery and would benefit greatly from optimization.
Anyway, I ended up accomplishing a lot more than I expected this evening. I actually created a new governor (based off conservative) that I called "Lionfish." My new governor combines the conservative approach with a a go_hispeed_load type feature for better responsiveness, and features more aggressive frequency reduction when the load goes down. I've been testing my new governor and I'm very pleased with the results.
I also incorporated faux123's intelliplug into my kernel, and it too is helping a lot.
I hope to release my new (and greatly improved) kernel in the next week or two.
Click to expand...
Click to collapse
Ever thought about making a cm kernel? Love your work with stock!
Sent from my XT1526 using Tapatalk

crazynapkinman said:
Ever thought about making a cm kernel? Love your work with stock!
Sent from my XT1526 using Tapatalk
Click to expand...
Click to collapse
I have actually been maintaining a CM compatible branch. I'll release it together with the new stock compatible kernel soon.

Related

[GUIDE] Governors for NOOBS

Interactive - 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.
Smartass- Is an improved version of interactive governor
Ondemand – Available in most kernels, and the default governor in most kernels. When the CPU load reaches a certain point (see “up threshold” in Advanced Settings), ondemand will rapidly scale the CPU up to meet demand, then gradually scale the CPU down when it isn't needed.
Conservative– Available in some kernels. It is similar to the ondemand governor, but will scale the CPU up more gradually to better fit demand. Conservative provides a less responsive experience than ondemand, but can save battery.
Performance – Available in most kernels. It will keep the CPU running at the “max” set value at all times. This is a bit more efficient than simply setting “max” and “min” to the same value and using ondemand because the system will not waste resources scanning for CPU load.
Powersave – Available in some kernels. It will keep the CPU running at the “min” set value at all times.
Userspace– A method for controlling the CPU speed that isn't currently used by SetCPU. For best results, do not use the userspace governor.
Hope those will able to help newbies to SetCPU or No Frills CPU.
Credit to LeeDroid for the infos
I believe Interactive is the most responsive kernel out there. Faster than ondemand. So it'll technically use more power when you are using the phone.
HOWEVER, isn't the best feature of Smartass the ability to cap frequencies when the screen is OFF? This essentially negates the need for using SetCPU to limit frequenceis when screen is off. Yes it's an improved version of interactive, but it should be just as responsive, but with these set limits in. I'm just not sure what the specific rules are. I used it for my Moto Milestone, but I'm unsure of what the rules are here.
window7 said:
Interactive - 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.
Smartass - Is an improved version of interactive governor
Ondemand – Available in most kernels, and the default governor in most kernels. When the CPU load reaches a certain point (see “up threshold” in Advanced Settings), ondemand will rapidly scale the CPU up to meet demand, then gradually scale the CPU down when it isn't needed.
Conservative – Available in some kernels. It is similar to the ondemand governor, but will scale the CPU up more gradually to better fit demand. Conservative provides a less responsive experience than ondemand, but can save battery.
Performance – Available in most kernels. It will keep the CPU running at the “max” set value at all times. This is a bit more efficient than simply setting “max” and “min” to the same value and using ondemand because the system will not waste resources scanning for CPU load.
Powersave – Available in some kernels. It will keep the CPU running at the “min” set value at all times.
Userspace – A method for controlling the CPU speed that isn't currently used by SetCPU. For best results, do not use the userspace governor.
Hope those will able to help newbies to SetCPU or No Frills CPU.
And do correct me if I am wrong. Thank you
Click to expand...
Click to collapse
You should credit the source you copy and pasted that from. Or even better post the link.
Sent from my Nexus S using XDA App
dmo580 said:
I believe Interactive is the most responsive kernel out there. Faster than ondemand. So it'll technically use more power when you are using the phone.
HOWEVER, isn't the best feature of Smartass the ability to cap frequencies when the screen is OFF? This essentially negates the need for using SetCPU to limit frequenceis when screen is off. Yes it's an improved version of interactive, but it should be just as responsive, but with these set limits in. I'm just not sure what the specific rules are. I used it for my Moto Milestone, but I'm unsure of what the rules are here.
Click to expand...
Click to collapse
SMARTASS is a rewrite of the INTERACTIVE governor, and it moves the CPU up/down depending on whether the phone is idle/locked/ ... etc.
But some problems that I experience with SMARTASS is that my music playback sometimes stutters(?). So I'm just sticking with INTERACTIVE.
http://setcpu.com
edit:/#7 didnt seem to work right?
matt2053 said:
You should credit the source you copy and pasted that from. Or even better post the link.
Sent from my Nexus S using XDA App
Click to expand...
Click to collapse
Thanks for telling me that. I had changed it
However, I cant post the link as I cannot find the source I find it.
I only know that LeeDroid provided me the details
window7 said:
Thanks for telling me that. I had changed it
However, I cant post the link as I cannot find the source I find it.
I only know that LeeDroid provided me the details
Click to expand...
Click to collapse
I believe it comes from SetCPU's website.
Http://www.setcpu.com
Sent from my Nexus S using XDA App
olorin86 said:
SMARTASS is a rewrite of the INTERACTIVE governor, and it moves the CPU up/down depending on whether the phone is idle/locked/ ... etc.
But some problems that I experience with SMARTASS is that my music playback sometimes stutters(?). So I'm just sticking with INTERACTIVE.
Click to expand...
Click to collapse
Is this because your screen is off? Yeah, smartass has some issues when the screen is off. Main issue is wakeup and whatever else your phone has to do. I know the Netarchy kernel with smartass just got a revision lately to deal with more wake issues.
But in terms of when your screen is on smartass should function exactly like interactive. So that's why I said smartass is essentially interactive, but with those preset rules regarding screen off that you would otherwise have to create using SetCPU.
The reason you might have worse battery might be because during screen off, your phone is struggling to do work at a slower pace (ideally you shouldn't have to do much, but maybe some people's phones have a lot of stuff running in the background), and so the more time you spent with the CPU active ends up eating more power.
This is one of the arguments about Intel Atom vs. Intel i3. Both idle at the same wattage, but the i3 uses massively more power in load. Probably 2x-3x more. However, given that the i3 is like so FAST, it gets say an encoding job done in like 1/4 the time. Your overall power (Watts * time) used is actually less with the faster CPU. This might apply with the Smartass governor. If your CPU is struggling and maxing out at its cap for a long time because its not fast enough when the screen is off, then perhaps this can be an issue. Just a thought. This is why I think the max_freq for sleep should probably be set around 500-600mhz instead of like 200mhz.
But once again I'm not sure what the governor is set at right now. If someone knows, please do tel

Governor descriptions for those using custom kernels and cpu manager

I wanted to know what the different governors do, rather than filling dev's threads up with questions I thought i would have a look around and do this for others who like me wanted to know what they do:
1: Interactive
The CPUfreq governor "interactive" is designed for low latency, interactive workloads. This governor sets the CPU speed depending on usage, similar to "ondemand" and "conservative" governors. However there is no polling, or 'sample_rate' required to scale the CPU up. Sampling CPU load every X ms can lead to under powering the CPU for X ms, leading to dropped framerate, stuttering UI etc..Scaling the CPU up is done when coming out of idle, and like "ondemand" scaling up will always go to MAX, then step down based off of cpu load.
There is only one tuneable value for this governor: min_sample_time: The ammount of time the CPU must spend (in uS) at the current frequency before scaling DOWN. This is done to
more accurately determine the cpu workload and the best speed for that workload. The default is 50ms.
2:Min Max
well this governor makes use of only min & maximum frequency based on workload... no intermediate frequencies are used.
3:Smartass
(Quoted from another author http://www.ziggy471.com/2010/11/07/s...-governor-info ) - "is based on the concept of the interactive governor.
I have always agreed that in theory the way interactive works – by taking over the idle loop – is very attractive. I have never managed to tweak it so it would behave decently in real life. Smartass is a complete rewrite of the code plus more. I think its a success. Performance is on par with the “old” minmax and I think smartass is a bit more responsive. Battery life is hard to quantify precisely but it does spend much more time at the lower frequencies.
Smartass will also cap the max frequency when sleeping to 352Mhz (or if your min frequency is higher than 352 – why?! – it will cap it to your min frequency). Lets take for example the 528/176 kernel, it will sleep at 352/176. No need for sleep profiles any more!"
4:Scary
A new governor wrote based on conservative with some smartass features, it scales accordingly to conservatives laws. So it will start from the bottom, take a load sample, if it's above the upthreshold, ramp up only one speed at a time, and ramp down one at a time. It will automatically cap the off screen speeds to 245Mhz, and if your min freq is higher than 245mhz, it will reset the min to 120mhz while screen is off and restore it upon screen awakening, and still scale accordingly to conservatives laws. So it spends most of its time at lower frequencies. The goal of this is to get the best battery life with decent performance. It will give the same performance as conservative right now, it will get tweaked over time.
I assume performance, conservative, powersave and ondemand are self explanatory,
Userspace - finding conflicting info, so if a dev wants to help me out ??
All this info was found on the web in various places, where possible I have quoted where from. If people would like me to link back to them please let me know I will add.
This is purely to help people understand the governors a little without filling dev threads
Can people also leave user feedback on the governors they have been using to give us a reference point to help us all
if it helped hit thanks
Dooms Kernel : http://forum.xda-developers.com/showthread.php?t=1226826
Schedulers post 3
Nice one Chiefy, good to know we have a thread for quick reference when needing it.
Schedulers
NOOP scheduler
The NOOP scheduler inserts all incoming I/O requests into a simple, unordered
FIFO queue and implements request merging.
The scheduler assumes I/O performance optimization will be handled at some
other layer of the I/O hierarchy; e.g., at the block device; by an intelligent
HBA such as a Serial Attached SCSI (SAS) RAID controller or by an externally
attached controller such as a storage subsystem accessed through a
switched Storage Area Network).
NOOP scheduler is best used with solid state devices such as flash memory
or in general with devices that do not depend on mechanical movement to
access data (meaning typical "hard disk" drive technology consisting of seek
time primarily, plus rotational latency). Such non-mechanical devices do not
require re-ordering of multiple I/O requests, a technique that groups together
I/O requests that are physically close together on the disk, thereby reducing
average seek time and the variability of I/O service time.
Deadline
The goal of the Deadline scheduler is to attempt to guarantee a start service time for a request[1]. It does that by imposing a deadline on all I/O operations to prevent starvation of requests. It also maintains two deadline queues, in addition to the sorted queues (both read and write). Deadline queues are basically sorted by their deadline (the expiration time), while the sorted queues are sorted by the sector number.
Before serving the next request, the Deadline scheduler decides which queue to use. Read queues are given a higher priority, because processes usually block on read operations. Next, the Deadline scheduler checks if the first request in the deadline queue has expired. Otherwise, the scheduler serves a batch of requests from the sorted queue. In both cases, the scheduler also serves a batch of requests following the chosen request in the sorted queue.
By default, read requests have an expiration time of 500 ms, write requests expire in 5 seconds.
Anticipatory
Anticipatory scheduling is an algorithm for scheduling hard disk input/output. It seeks to increase the efficiency of disk utilization by "anticipating" synchronous read operations.
"Deceptive idleness" is a situation where a process appears to be finished reading from the disk when it is actually processing data in preparation of the next read operation. This will cause a normal work-conserving I/O scheduler to switch to servicing I/O from an unrelated process. This situation is detrimental to the throughput of synchronous reads, as it degenerates into a seeking workload.[1] Anticipatory scheduling overcomes deceptive idleness by pausing for a short time (a few milliseconds) after a read operation in anticipation of another close-by read requests.[2]
Anticipatory scheduling yields significant improvements in disk utilization for some workloads.[3] In some situations the Apache web server may achieve up to 71% more throughput from using anticipatory scheduling.[4]
The Linux anticipatory scheduler may reduce performance on disks using TCQ, high performance disks, and hardware RAID arrays.[5] An anticipatory scheduler (AS) was the default Linux kernel scheduler between 2.6.0 and 2.6.18, by which time it was replaced by the CFQ scheduler.
BFQ
The Brain **** Scheduler (or BFS) is a task scheduler designed for the Linux kernel in August of 2009 as an alternative to the Completely Fair Scheduler and the O(1) scheduler.[2] BFS was created by veteran kernel programmer Con Kolivas[3].
The objective of BFS, compared to other schedulers, was to provide a scheduler with a simpler algorithm, that did not require adjustment of heuristics or tuning parameters to tailor performance to a specific type of computation workload. The BFS author asserted that these tunable parameters were difficult for the average user to understand, especially in terms of interactions of multiple parameters with each other, and claimed that the use of such tuning parameters could often result in improved performance in a specific targeted type of computation, at the cost of worse performance in the general case.[4] BFS has been reported to improve responsiveness on light-NUMA (non-uniform memory access) Linux mobile devices and desktop computers with fewer than 16 cores.
CFQ
CFQ, also known as "Completely Fair Queuing", is an I/O scheduler for the Linux kernel which was written in 2003 by Jens Axboe.
CFQ works by placing synchronous requests submitted by processes into a number of per-process queues and then allocating timeslices for each of the queues to access the disk. The length of the time slice and the number of requests a queue is allowed to submit depends on the IO priority of the given process. Asynchronous requests for all processes are batched together in fewer queues, one per priority. While CFQ does not do explicit anticipatory IO scheduling, it achieves the same effect of having good aggregate throughput for the system as a whole, by allowing a process queue to idle at the end of synchronous IO thereby "anticipating" further close IO from that process. It can be considered a natural extension of granting IO time slices to a process.
I am testing scary at the mo on stock gb so will edit my post tomorrow bro.
over the next week I will use scary, smartass, ondemand, conservative and interactive and report my findings back here
please all get involved and report back your findings
Can people also post their voltage findings with Dooms new kernel
Scary Report
Phone been on 9h 39m, medium usage, clocking set 128-1113, voltages changed as above post,phone very responsive and no lags, battery remaining 39%, AnTuTu benchmark 2755 linpack 39.
Interactive Report
128-1132 up time 6h 25mins, phone responsive no lag, medium usage 36% left, AnTuTu benchmark 2502 linpack 36 this governor doesnt seem to help battery level very much
6h 25mins and only 36% left? OMG! that's a battery drain!
Well, Quite frankly I went through the governors, Which do you think is better? Can you describe each governor in one word?
I'm on wolf rom with fps uncapped (3.x if i remember well) i haven't upgraded due to the issues pertaining to the users.
Can you just suggest me a good governor based on your experience? Can I get 24 hours of uptime with custom kernels or i still have to wait? ( I know I love OC that we had on 2.2 but looking at the battery drain I'm cautious whether or not to flash the custom kernels )
Thanks for your guide. It's epic!
Neo said:
6h 25mins and only 36% left? OMG! that's a battery drain!
Well, Quite frankly I went through the governors, Which do you think is better? Can you describe each governor in one word?
I'm on wolf rom with fps uncapped (3.x if i remember well) i haven't upgraded due to the issues pertaining to the users.
Can you just suggest me a good governor based on your experience? Can I get 24 hours of uptime with custom kernels or i still have to wait? ( I know I love OC that we had on 2.2 but looking at the battery drain I'm cautious whether or not to flash the custom kernels )
Thanks for your guide. It's epic!
Click to expand...
Click to collapse
so far the best governors that i have used have been Smartass and Scary but i will continue testing the governors and reporting back. Smartass was working great with no o/c for me, i will add this to this test. tomorrow i will test Scary with no o/c
Ok, my conclusions of using the scary gov on my modded stock gb is probally the best my phone has been, nearly all frequencies are being used, had to use min 192 and max 1190 as had a few screen off reboots but once using those settings my no more reboots. Battery life is the best i have had on custom kernel with flat line overnight, 3% loss, with wifi off and hourly updates of email, deep sleep working perfect as it should.
Overall, this is my personal favorite so far, just to add also this is using...
http://doomlord.sylvester20007.com/x10/x10_gb/dk/v02/dk-v02-X-modfxp_xrec.zip
I have not started using v03 of Dooms new kernel because of the good results with v02x.
Samrtass Report
Running Smartass governor uptime 5hours 1minute 128-1132cpu, medium usage, twitter, facebook two calls, brightness and 50%, AnTuTu Benchmark 1569 linpack 31 ( second linpac got WLOD ) battery 69%
Edit 10hours up time 42% battery left
As you can see smartass is a battery friend but performance suffers, although for my usage i find that this is the best governor for me at the minute
further governor tests continue
MIN/MAX Report
I tried to use this governor but it kept causing random reboots so gave up
keep going!!
I know this is missing topic but how would I overclock my x10. If it is, how safe is it?
Sent from my x10 Platinum
om23 said:
I know this is missing topic but how would I overclock my x10. If it is, how safe is it?
Sent from my x10 Platinum
Click to expand...
Click to collapse
From what I have encountered it depends on the age of your phone, it is safe and won't blow you phone up but some models can handle far greater stress. the newer phones tend to be able to overclock higher, all that will happen if you phone cant handle the overclock is you will get the dreaded WLOD and your phone will reboot, then if you have set the speed from boot you may get stuck at boot image, but if that is the case then you use flash tool and reflash
chiefy009 said:
MIN/MAX Report
I tried to use this governor but it kept causing random reboots so gave up
Click to expand...
Click to collapse
Thanks for this thread chiefy009!
I have tried all governors too (on Doom's kernel) and I have different experience to yours, so I thought I'd share.
For me, interactive/ondemand/smartass make the phone VERY choppy, especially while scrolling lists!
On the other hand, minmax gives me the smoothest and fastest results.
And I thought that jumping from Deep Sleep/MIN frequency to MAX frequency, without intermediate steps, would kill my battery but, to my amazement, battery life is very very good, I might say better than any other governor.
When I was using minmax as a module to the stock kernel, I got reboots too,
but since Doom integrated it into his kernel, it's stable as rock!
This is the info I found about this governor:
MinMax Governor (Battery Saver)
This governor will try to minimize the frequency jumps/changes which cause voltage spikes/changes and supposedly drain more battery life
Click to expand...
Click to collapse
Just my 2 cents!
My_Immortal said:
Thanks for this thread chiefy009!
I have tried all governors too (on Doom's kernel) and I have different experience to yours, so I thought I'd share.
For me, interactive/ondemand/smartass make the phone VERY choppy, especially while scrolling lists!
On the other hand, minmax gives me the smoothest and fastest results.
And I thought that jumping from Deep Sleep/MIN frequency to MAX frequency, without intermediate steps, would kill my battery but, to my amazement, battery life is very very good, I might say better than any other governor.
When I was using minmax as a module to the stock kernel, I got reboots too,
but since Doom integrated it into his kernel, it's stable as rock!
This is the info I found about this governor:
Just my 2 cents!
Click to expand...
Click to collapse
Thank you for getting involved, if you have time could you post all your findings on your usage of the governors ?
chiefy009 said:
Thank you for getting involved, if you have time could you post all your findings on your usage of the governors ?
Click to expand...
Click to collapse
Sure thing!
I am on Doom's kernel, which I believe includes all the available governors so far.
Scary Governor
Description coming from the author:
A new governor I wrote based on conservative with some smartass features, it scales accordingly to conservatives laws. So it will start from the bottom, take a load sample, if it's above the upthreshold, ramp up only one speed at a time, and ramp down one at a time. It will automatically cap the off screen speeds to 245Mhz, and if your min freq is higher than 245mhz, it will reset the min to 120mhz while screen is off and restore it upon screen awakening, and still scale accordingly to conservatives laws. So it spends most of its time at lower frequencies. The goal of this is to get the best battery life with decent performance. It will give the same performance as conservative right now, it will get tweaked over time.
Click to expand...
Click to collapse
Performance suffers, in my opinion.
It scales the CPU conservatively, so it is very annoying when playing games
or even syncing to get your Gmails.
Also, and this applies to all governors, speed is decreased when the sampling rate is high. Which means that if the CPU constantly checks for load in order to increase/decrease frequency, that will take its toll both to performance and battery life.
Smartass - Interactive - Ondemand
I am putting those 3 governors in the same category, because at least for me, they functioned very similarly.
What I noticed is that indeed the phone used almost all available frequencies before going to MAX, but the phone was laggy. Especially when scrolling in big lists, interactive and smartass gave me unacceptable performance. Ondemand was a tad better, but still, the phone seemed to "resist" scrolling for a few seconds and then go ahead and finally do it!
Battery life was pretty much the same as stock
(since ondemand is the default governor for stock kernel).
MinMax
As I stated in my previous post, minmax gave me the smoothest and fastest results.
This governor doesn't take intermittent load samples, when it first detects CPU load, aka you start using your phone, it jumps to the max frequency and stays there until you stop using it.
At this point, I want to express my opinion on the subject of "High Freq When Screen On", because many users complain about it, but I beg to differ.
In theory, CPU running at max frequency all the time, is heat generating and/thus battery consuming. Alas, be careful: in theory...
Because practically, when you use your phone, you usually do CPU demanding tasks.
When the phone is in my pocket/bag/drawer/whenever doing nothing, I want to be in Deep Sleep.
When I turn it on to look at the time of if there's any new notification, that lasts 30 secs - 1 minute. What frequency will be used then, is not that important.
When I turn it on to actually do something, I want it to be FAST.
If I can scroll a list faster, if I can open an app faster, then I will be using the phone for less time.
If the CPU is sampling and scaling up conservatively, the phone will be laggy
and I will need more time to accomplish my tasks.
All in all, I am not intimitaded by high frequencies while using the phone.
I would start worrying if I got no Deep Sleep -which isn't the case fortunately.
And my battery life is amazing, I get about 1 day and a few hours more,
with pretty heavy use.
Just my 2 cents on the matter.
Powersave
If you are ever really mad at your X10 and you want to see it struggle and suffer, then this is the governor for you! Enough said!
Performance
Pretty snappy, good for gaming and benchmarking, as it uses only MAX frequency. Not for prolonged use though, because it will ONLY use the max frequency (and Deep Sleep of course).
I'll make sure to make more tests in the future and post more thorough reviews!
Again, thanks for this thread chiefy009!!
My_Immortal said:
Sure thing!
I am on Doom's kernel, which I believe includes all the available governors so far.
Click to expand...
Click to collapse
Are you playing with the voltages at all ? if so could you record your findings for everyone ?
I am currently working through the governor list and then plan on trying to level out some voltages which work well
chiefy009 said:
Are you playing with the voltages at all ? if so could you record your findings for everyone ?
I am currently working through the governor list and then plan on trying to level out some voltages which work well
Click to expand...
Click to collapse
I have undervolted my phone using these values:
128000 Hz - 875 V
192000 Hz - 900 V
245760 Hz - 925 V
384000 Hz - 950 V
460800 Hz - 975 V
576000 Hz - 1000 V
652800 Hz - 1050 V
768000 Hz - 1100 V
844800 Hz - 1150 V
921600 Hz - 1200 V
998400 Hz - 1250 V
The phone runs pretty stable, didn't have a single reboot or WLOD so far (3 days).
Xperia X10i via Tapatalk
I will try those settings for undervolting
Smartass Update
This governor is working wonders for me at the minute, phone been online for 6hours, medium/light usage 128-1132mhz few calls, connected to bluetooth speaker in car, little web usage and twitter and the battery is still on 88%
That is impressive

[Poll] AbyssNote Kernel * Favorite Governors *

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

[Q] What's the Best Governor for an Overclocked Droid X?

Rootzwiki FAQ: CPU Governors
I remember when Smartass came out a bunch of developers at the Droid X forums where recommending that for better performance than Conservative with roughly equal battery life, so my last governor on MIUI was the updated version of that: SmartassV2.
Now I've flashed Pooka's CM4DX build, and there are three governors included by default:
Ondemand (default)
Userspace
[*]Performance
I installed the last version of Jakesbitesmods for the Droid X found in post #1052 of the official Rootzwiki thread, v19f, and it adds these governors:
InteractiveX (default, recommended by Jake)
Conservative
Finally, from a flashable standalone zip, I added my last preferred governor from MIUI:
SmartassV2
So I have a lot of options. Now, as the Rootzwiki FAQ on governors I linked at the top says:
Rootzwiki said:
Smartass
Theoretically a merge of the best properties of Interactive and OnDemand; automatically reduces the maximum CPU frequency when phone is idle or asleep, and attempts to balance performance with efficiency by focusing on an "ideal" frequency.
Pro: Usually yields higher performance than OnDemand and theoretically has better battery life than Interactive or OnDemand.
Con: Same as Interactive, the CPU will slowly ramp down after it is no longer needed (compared to its ramping-up speed). Might also go too low when asleep (an issue with other governor when a Sleep profile is used in apps such as SetCPU), causing the device to malfunction. Most common example is the screen not powering on when the power button is pressed or the phone begins ringing. Might also effect apps running in the background while sleeping.
SmartassV2
A rewrite of Smartass that is easier for developers to program, and scales down quickly similar to Conservative. It has an "ideal" frequency which it will quickly ramp up to, then more slowly ramp up once past it, and vice-versa for down-ramping. A separate "ideal" frequency is used when the screen is off.
Pro: Same as Smartass, but theoretically better battery life and performance.
Con: Same as Smartass with the sleep state.
Click to expand...
Click to collapse
So, if the theory there holds true, then SmartassV2 should be generally superior to both InteractiveX and OnDemand. But on the last page of that Jakesbitesmod thread, in post #1063, there is a link with a flashable zip of BoostedassV2: yet a further modification of SmartassV2. I found the developer's thread for BoostedassV2, and in that thread, he says this about SmartassV2:
BMc08GT said:
This is based in part on the port done by First Encounter for the DX. I have discovered that it will also compile for the other DROID devices that were available at the time of the port. I went further to tweak the stock smartassv2, as I felt that it was to CPU needy, with the transisition ideal freq at 800MHz!! Not a very good frequency to be set for ideal, at resting awake state. I further dived into the code and changed majority of the other frequencies, and transistions-based on my conservative tweaks made from PowerBoost. I will have the comparison of smartassv2 vs boostedassv2 in the 2nd post.
Click to expand...
Click to collapse
Would this in theory be better for general performance in a Droid X that's overclocked/undervolted? I'm using JBM's preset 1.15GHz settings, so I'm way off that 800MHz optimization. I realize that there's a tension in governors between best battery life and best responsiveness, but I'm curious which of these governors would probably offer the best general combination of the two on an OC'd DX running CM7 like mine.
If yes, I'll go about installing it some other way. That zip for BoostedassV2 is problematic because it searches out and deletes the InteractiveX governor, and it wreaked havoc on some of the core JBM files, because I could not overclock in terminal using JBM. The reference files got deleted. I would considering using SetCPU, but for some reason, on this CM4DX ROM, SetCPU doesn't have the "Autodetect" tab, and I can't clock the max frequency above 1000MHz using that app. Also, it's my understanding that JBM is more battery-efficient since it changes the clock in the boot files, so it doesn't require a constant service to maintain its settings.
Generally, I'm just curious what setup you guys would suggest for OC/governor running Pooka's CM4DX. Thanks.

Question about big.LITTLE cores

Hey. After checking CPU on "Kernel Adiutor", I noticed that none of six cores are going offline. All of them is staying online, its happening also if there is no tasks on background. I am using interactive governor for both big and LITTLE cores. I want to know, is there better governor, that will not sacrifice performance, but will put some cores to offline mode, so battery life would be better. Any suggestions for hexacore governors?
Thanks!
EDITED on 28.11.15:
Thanks dark4codrutz for explaining things! So I have flashed v4tk kernel version 5 for XT1572.
Settings at "Kernel Adiutor":
CPU
big cores: min - 384 MHz, max - 1824 MHz, governor - interactive.
little cores: min - 384 MHz, max - 1440 MHz, governor - interactive.
CPU Boost - disabled on all cores (I suppose that stock variant with "input boost frequency core 1 - 1248 MHz" was reason why all settings didnt stock on, so this option is disabled now)
CPU Hotplug
Thunderplug is enabled;
Min Cores screen off - 2;
Sampling Rate - 600;
Load Threshold - 60;
I get that I wanted. Now there isnt 6 cores online always. With this settings I didnt got noticeable lagging, and on small system load I have only 1 little and 1 big core online. Others are offline!
Will test this out, it should get some batery for device (SOT).
BooBzi said:
Hey. After checking CPU on "Kernel Adiutor", I noticed that none of six cores are going offline. All of them is staying online, its happening also if there is no tasks on background. I am using interactive governor for both big and LITTLE cores. I want to know, is there better governor, that will not sacrifice performance, but will put some cores to offline mode, so battery life would be better. Any suggestions for hexacore governors?
Thanks!
Click to expand...
Click to collapse
If you are rooted, you could flash one of the custom ROMS that has a custom kernel. You could change hotplugs, governors, etc. Or if you want to stay stock, there is also a custom kernel for that. Thunderplug takes several copies offline.
Sent from my XT1575 using Tapatalk
countryfolk07 said:
If you are rooted, you could flash one of the custom ROMS that has a custom kernel. You could change hotplugs, governors, etc. Or if you want to stay stock, there is also a custom kernel for that. Thunderplug takes several copies offline.
Sent from my XT1575 using Tapatalk
Click to expand...
Click to collapse
I am rooted, but want to stay on stock ROM. Some time ago I tried v4tk kernel, but had some problems with it - interactive governor disabled one big, and two little cores. Also I couldnt change max and min frequency. So whatever I did, I had one big core offline, but other one was always on ~1.2Ghz. It didnt go to 300MHz or to 1.8GHz.
So the main question for now - Is there some special governors for hexa-core phones? I see that in stock interactive governor when screen is on, all six cores always is online, so I am looking for other governor, that uses same type for agresive performance, but also that can disable big cores by it self. No drops in performance.
But thanks for answering this thread.
BooBzi said:
I am rooted, but want to stay on stock ROM. Some time ago I tried v4tk kernel, but had some problems with it - interactive governor disabled one big, and two little cores. Also I couldnt change max and min frequency. So whatever I did, I had one big core offline, but other one was always on ~1.2Ghz. It didnt go to 300MHz or to 1.8GHz.
So the main question for now - Is there some special governors for hexa-core phones? I see that in stock interactive governor when screen is on, all six cores always is online, so I am looking for other governor, that uses same type for agresive performance, but also that can disable big cores by it self. No drops in performance.
But thanks for answering this thread.
Click to expand...
Click to collapse
Sorry for bothering in your thread but I see you have some misconceptions about kernels. The governor is nothing more than a set of rules that the CPU follows and uses to decide when, how much and for how long to scale the FRECQUENCY.
What you are looking for is an HOTPLUG, which is the part of the kernel that tells the CPU to HOTPLUG( disconnect or connect) a number of cores, also contains parameters for when to do that, at which initial FRECQUENCY to HOTPLUG the core and also for how long to wait until disconnecting it.
I am using v4tk's kernel right now and I can confirm it works as a beauty. In version V5 (the latest for my XT1572) he even modified the Thunderbolt Hotpluging and adapted it to respect six cores little.Big configuration. In my experience with this HOTPLUG it keeps first little core and first Bigg core always on during screen on, then it gradually lights up second, third, forth little cores when needed. I didn't got to make him light up the second Big core in Kernel Auditorium, but I'm pretty sure it lights up when video is decoded or encoded.
I don't recommend you using the newly added MSN, it doesn't do much for me.
As for the governors ( you can select two: one for little cores and one for Big) I stay with stock Interactive and I haven't experienced bad frequency scalling.
dark4codrutz said:
Sorry for bothering in your thread but I see you have some misconceptions about kernels. The governor is nothing more than a set of rules that the CPU follows and uses to decide when, how much and for how long to scale the FRECQUENCY.
What you are looking for is an HOTPLUG, which is the part of the kernel that tells the CPU to HOTPLUG( disconnect or connect) a number of cores, also contains parameters for when to do that, at which initial FRECQUENCY to HOTPLUG the core and also for how long to wait until disconnecting it.
I am using v4tk's kernel right now and I can confirm it works as a beauty. In version V5 (the latest for my XT1572) he even modified the Thunderbolt Hotpluging and adapted it to respect six cores little.Big configuration. In my experience with this HOTPLUG it keeps first little core and first Bigg core always on during screen on, then it gradually lights up second, third, forth little cores when needed. I didn't got to make him light up the second Big core in Kernel Auditorium, but I'm pretty sure it lights up when video is decoded or encoded.
I don't recommend you using the newly added MSN, it doesn't do much for me.
As for the governors ( you can select two: one for little cores and one for Big) I stay with stock Interactive and I haven't experienced bad frequency scalling.
Click to expand...
Click to collapse
Finally, big THANKS to you for explaining things!
Will try later v4tk's kernel to change HOTPLUG, but I had some bad experience - all settings that I changed didnt stick on, so after some seconds they lived their lives.

Categories

Resources