Hello,
I'm using SmartassV2 as CPU Governor and And SIO as I/O Scheduler.
But when i check the CPU frequency it stays at the max frequency (1728) and doesn't change, except when my device goes in sleep mode.
Am i the only one with this? Is this normal or is something wrong?
Thanks in advance!
Related
I wonder which freq can save more battery and not slow
Mine:
Wake up
max:1512
min:168
Wake Governor - interactive
Sleep:
max:540
min:168
Sleep Governor - conseractive
Kernel UNITY V7
And here is the freq settings recommended by CdTDroiD:
Recommended Daemon Settings:
Wake Min 384000
Wake Max 1296000
Wake Governor - Ondemand
Sleep Min 276000
Sleep Max 384000
Sleep Governor - Conservative
Guys,please post your settings here and discuss what is the best freq settings
Mine:
Wake up
max:1512
min:168
Wake Governor - ondemand
Sleep:
max:384
min:168
Sleep Governor - conseractive
Kernel UNITY V7
jerrylzy said:
I wonder which freq can save more battery and not slow
Mine:
Wake up
max:1512
min:168
Wake Governor - interactive
Sleep:
max:540
min:168
Sleep Governor - conseractive
Kernel UNITY V7
And here is the freq settings recommended by CdTDroiD:
Recommended Daemon Settings:
Wake Min 384000
Wake Max 1296000
Wake Governor - Ondemand
Sleep Min 276000
Sleep Max 384000
Sleep Governor - Conservative
Guys,please post your settings here and discuss what is the best freq settings
Click to expand...
Click to collapse
I'd lower your sleep. No need to sleep at 500 mhz.
I have the Sensation and the Revolution HD rom installed. The rom came with the CPU upped to 384000/1512000/ondemand; 192000/384000/ondemand but I'd like to take it back down to defaults. I'm a little worried that its running too high/hot. The phone yesterday got really really warm and wouldn't turn on until I pulled the battery and restarted it. So to be on the safe side, I'd like to just put it back to defaults and then remove the Daemon Controller. My Google searches for "Daemon HTC Sensation" have come up empty handed. Any help would be appreciate! Thanks in advance.
Sleep:
All lowest setting
Wake-
Min: 1.4Ghz
Max: 1.78Ghz
*Subscribing*
Just put wake to whatever you want and sleep.to lowest settings. I change them on the fly depending on if I play games or not. Lower them when your not doing anything that needs high cpu usage
I use the stock settings that Mike has in the latest ARHD and performance is seems ok along with battery life.
jacksparr0w said:
I use the stock settings that Mike has in the latest ARHD and performance is seems ok along with battery life.
Click to expand...
Click to collapse
same for me even tough its on the inc s.
Rom: Leedroid V2.1, Axiom S V1.0, TrickDroid V5.0(EU)
Kernel: stock HTC, Lowkernel v1.0.1, Vistuous v06
Apps & scripts: SetCPU, CPU Editor, Quick system info pro
http://forum.xda-developers.com/showthread.php?p=28214411#post28213828
There are also some other people who reported the same issue in this thread.
I'v tried all these kernels on three ROMs and they reported the same problem. The cpu1(2nd core) always keeps as ondemand mode. I've to use CPU Editor and enable Dual Core Mode to force it to other mode but after a reboot, it will reset to ondemand again. Sticky Enabled has no use here.
Another thing is after a reboot, the cpu1 frequency will also get a reset to the kernel's max. frequency supported. I've to set it again too.
Use Quick system info pro, it will shows out the current cpu0/1 governor and cpu scaling range very clearly.
SetCpu looks messed up on One S. The max frequency actually works as cpu1's max frequency while min frequency actually works as cpu0's max frequency.
It has no club to run the cpu1 ondemand at max all day long, it's just a waste of battery. On such a powerful S4 cpu, it's also non-sense to use ondemand governor as default. Interactive, Conservative, SmartassV2 are all better choices.
As a result, by using CPU Editor to lower the cpu1's speed and switch to other governor, my battery on daily use improved.
What are best settings for optimal/same performance and maximum battery savings in SetCPU or CPU tuner for stock ICS 4.0.4 KERNEL?
Thanks
I have Arc S LT18i (model 12w17). I can't unlock bootloader with testpoint at the moment and I do not wan't to do it officialy. I'm using SetCPU.
I have ondemand, conservative and interactive governors and noop and deadline schedulers. I'm always using using noop scheduler.
I have set ondemand 122-1401MHz for ScreenON & InCall profiles with sampling rate 40000 and up treshold 95.
I have set conservative 122-1024 for ScreenOFF profile with up treshold 70 and down treshold 30 and sampling rate 200000 (lowest possible for my stock kernel).
Will test it for a few days. If anybody has better settings and tested ones please help...
I think conservative is best for screen off, thinking about lowering freq to 122-806. What I'm mostly interested is if interactive is better for ScreenON and InCall use than ondemand for battery durability?
Updated some setting based on CPU Spy and some reading on xda forum.
ScreenOFF profile
Up/down 70/30 thresholds no good for conservative, changed to 90/40. Enabled ignore nice load. Changed freq_step from 5 to 10 to balance change of thresholds.
When playing music in background freq was 368 and was jumping to 768. With new settings freq was mostly 245 with jumps to 368.
ScreenON or Incall profile
Ondemand up threshold changed to 90 (smoother), enabled ignore nice load, sampling rate left to 40000.
Unsure if 122MHz freq is good to use because when playing music in background there are significantly more jumps to 1401 than from 245MHz.
On stock kernel, 122 and 245 both run on 900mV. Read on forum that 122MHz can use more battery because processes need more time to finish than on 245MHz, instead processes finish faster on 245MHz (and what bugs me is that both freq uses same voltage) and phone enters deep sleep faster.
245MHz is stock kernel minimum default. Any HELP?
you can search on xda about the settings of setcpu... there is a detailed description about all the settings and you can choose the ryt one according to you usage:good:
---------- Post added at 08:52 PM ---------- Previous post was at 08:50 PM ----------
hope this may help you http://forum.xda-developers.com/showthread.php?t=843406
Imho profiles are useless since the more profiles you have, the more often the app needs to get active to check for a particular situation such as screen of, and governours already do that - they are profiles for the cpu
This is not my work, i adjusted a bit (take several Governor out) for Sensation, so all credits go to droidphile.
i will myself accept THANKS
Explanation of Different Governors
1. GOVERNORS
These are the 9 governors we're talking about.
1) Ondemand
2) Ondemandx
3) Conservative
4) Interactive
5) SmartassV2
6) Intellidemand:
7) Lagfree
8) Userspacce
9) Performance
1) Ondemand:
Default governor in almost all stock kernels. One main goal of the ondemand governor is to switch to max frequency as soon as there is a CPU activity detected to ensure the responsiveness of the system. (You can change this behavior using smooth scaling parameters, refer Siyah tweaks at the end of 3rd post.) Effectively, it uses the CPU busy time as the answer to "how critical is performance right now" question. So Ondemand jumps to maximum frequency when CPU is busy and decreases the frequency gradually when CPU is less loaded/apporaching idle. Even though many of us consider this a reliable governor, it falls short on battery saving and performance on default settings. One potential reason for ondemand governor being not very power efficient is that the governor decide the next target frequency by instant requirement during sampling interval. The instant requirement can response quickly to workload change, but it does not usually reflect workload real CPU usage requirement in a small longer time and it possibly causes frequently change between highest and lowest frequency.
2) Ondemandx:
Basically an ondemand with suspend/wake profiles. This governor is supposed to be a battery friendly ondemand. When screen is off, max frequency is capped at 500 mhz. Even though ondemand is the default governor in many kernel and is considered safe/stable, the support for ondemand/ondemandX depends on CPU capability to do fast frequency switching which are very low latency frequency transitions. I have read somewhere that the performance of ondemand/ondemandx were significantly varying for different i/o schedulers. This is not true for most of the other governors. I personally feel ondemand/ondemandx goes best with SIO I/O scheduler.
3) 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.
4) Interactive:
Can be considered a faster ondemand. So more snappier, less battery. Interactive is designed for latency-sensitive, interactive workloads. Instead of sampling at every interval like ondemand, it determines how to scale up when CPU comes out of idle. The governor has the following advantages: 1) More consistent ramping, because existing governors do their CPU load sampling in a workqueue context, but interactive governor does this in a timer context, which gives more consistent CPU load sampling. 2) Higher priority for CPU frequency increase, thus giving the remaining tasks the CPU performance benefit, unlike existing governors which schedule ramp-up work to occur after your performance starved tasks have completed. Interactive It's an intelligent Ondemand because of stability optimizations. Why??
Sampling the CPU load every X ms (like Ondemand) can lead to under-powering the CPU for X ms, leading to dropped frames, stuttering UI, etc. Instead of sampling the CPU at a specified rate, the interactive governor will check whether to scale the CPU frequency up soon after 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 very busy between exiting idle and when the timer fires, then we assume the CPU is underpowered and ramp to max frequency.
5) SmartassV2:
Version 2 of the original smartass governor from Erasmux. Another favorite for many a people. The governor aim for an "ideal frequency", and ramp up more aggressively towards this freq and less aggressive after. It uses different ideal frequencies for screen on and screen off, namely awake_ideal_freq and sleep_ideal_freq. This governor scales down CPU very fast (to hit sleep_ideal_freq soon) while screen is off and scales up rapidly to awake_ideal_freq (500 mhz for GS2 by default) when screen is on. There's no upper limit for frequency while screen is off (unlike Smartass). So the entire frequency range is available for the governor to use during screen-on and screen-off state. The motto of this governor is a balance between performance and battery.
6) Intellidemand:
Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. Unlike what some users believe, this governor is not the replacement for OC Daemon (Having different governors for sleep and awake). The original intellidemand behaves differently according to GPU usage. When GPU is really busy (gaming, maps, benchmarking, etc) intellidemand behaves like ondemand. When GPU is 'idling' (or moderately busy), intellidemand limits max frequency to a step depending on frequencies available in your device/kernel for saving battery. This is called browsing mode. We can see some 'traces' of interactive governor here. Frequency scale-up decision is made based on idling time of CPU. Lower idling time (<20%) causes CPU to scale-up from current frequency. Frequency scale-down happens at steps=5% of max frequency. (This parameter is tunable only in conservative, among the popular governors )
To sum up, this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling, and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such. Intellidemand does not jump to highest frequency when screen is off.
7) Lagfree:
Lagfree is similar to ondemand. Main difference is it's optimization to become more battery friendly. Frequency is gracefully decreased and increased, unlike ondemand which jumps to 100% too often. Lagfree does not skip any frequency step while scaling up or down. Remember that if there's a requirement for sudden burst of power, lagfree can not satisfy that since it has to raise cpu through each higher frequency step from current. Some users report that video playback using lagfree stutters a little.
8) Userspace:
Instead of automatically determining frequencies, lets user set frequencies.
9) Performance:
Sets min frequency as max frequency. Use this while benchmarking!
So, Governors can be categorized into 3/4 on a high level:
1.a) Ondemand Based:
Works on "ramp-up on high load" principle. CPU busy-time is taken into consideration for scaling decisions. Members: Ondemand, OndemandX, Intellidemand, Lagfree.
1.b) Conservative Based:
Members: Conservative,
2) Interactive Based:
Works on "make scaling decision when CPU comes out of idle-loop" principle. Members: Interactive, InteractiveX, Smartass, SmartassV2,
3) Weird Category:
Members: Userspace, Performance.
__________________________________________________ __________________________________________________ ____________
II) QUESTION TIME
Q. "Ok. Enough of explanations. Tell me which governor is for performance and which one is for battery life."
A. Tough question! smartassV2 for a balance between performance and battery. For light weight tasks. To get maximum performance, use a tweaked ondemand or conservative, but never complain about battery. NOTE: If you don't know how exactly to do it, stay away from it or you will end up complaining about battery drain!
Q. "Hey, almost forgot. How do i change governors?"
A. Best way is to use apps such as system tuner,android tuner,kernel tuner etc.
Q. "How do i know which governor is best for me?"
A. It depends on what you need and your daily usage pattern. Performance or battery. Better choose a governor that's balanced for battery/performance. Or tweak a governor to give performance an upper-hand as compared to battery. We can always re-charge the phone: In car when off to work, or overnight. But we can not recharge performance!
Q. "I can feel slight lags here and there with a governor. For ex: while scrolling through app drawer/vertically scrolling browser, etc. I really love this governor and don't tell me to use another governor. Can i diminish this lag?"
A. Hmm well, you can. Basically what we have to do is make the governor "poll" less often to scale-down cpu. Increase down-sampling-time of your governor (whichever parameter that corresponds to), so that the cpu will stay longer on a frequency before scaling down. This should eliminate the lag.
Q. "Even though i don't have too much uv/oc, once in a while; may be once in two weeks, i experience a freeze/lock/reboot. I'm using governor X. How do i solve this?"
A. Well, a random reboot/freeze once in a while signifies that we're android/ enthusiast. If everything go smooth as silk, what's the fun? We could use stock rom/kernel/governor and be happy. A rare reboot or freeze is nothing to worry about. Just restart the phone.
Q. "OK. I want to tweak these governors according to my usage pattern, because i'm not happy with the default behavior of these governors".
A. You can tweak the governors using an init.d script to echo suitable values into:
/sys/devices/system/cpu/cpufreq/name-of-active-governor/name-of-the-paramater-to-tweak
screen-on will not drain too much battery like you think!
HIT THE THANKS IF THIS INFORMATION WAS HELPFULL
I have a Galaxy S3 running a custom ROM (WICKED), In the past I have been using the tweaked stock kernel with ondemand the the CPU would sleep at appropriate times. I updated to the newer version of the ROM and for some odd reason setting the governor to ondemand on the tweaked stock kernel would keep the CPU awake at all times. The only change I made was that I added a screen off profile set to ondemand with lower than full max clock speed. Luckily the ROM came with a another kernel option (Deviant kernel, OC'able), however several governors such as ondemand, conservative and intellidemand has the same issue; my CPU was an insomniac. Finally I tried using the interactive governor with the custom kernel and the CPU now sleeps as it should within a few moments after the screen turns off.
tl:dr: this issue seems to be less of one pertinent to my phone and more so a misunderstanding on my part how governors decide when to sleep the CPU. Why wasn't my CPU sleeping? Which governors are appropriate for a screen off profile?