/[Q] Governors in Bootmenu with CM7 kernel and leaked 2.3.3 - Defy Android Development

Hi everyone, I have noticed something strange after I flashed Jboogie3 Blurry Ginger (leaked 2.3.3): my CPU is really using all four frequencies of the CPU that this kernel provides! A strange good thing =)
I said it's strange because in CM7, that it's my everyday ROM, using 177-005 Nordic as a base, and ondemand governor (everything settled via bootmenu), I always see in CPU Spy what frequencies it's working when playing games, surfing the web, etc, and it always use the minimal (300MHz) or the max (1000MHz), never the middle value (600MHz).
For example, it's like this in leaked 2.3.3 (using 300/600/900/1200):
Screen Off: 300MHz
Playing Angry Birds: 600MHz
Playing other games: 900~1200MHz
I don't need 4 frequencies in CM7, but would be good for the 3 of them working correct. Anyone knows how to do it? Or if i have to change the governor to smartass, what settings i have to use for the other options?

Related

[AOSP/CM7 Kernel] 11/01/2012 ManU 2.1 - 2.6.35 based battery efficient kernels

I'm listing here 2 different 2.6.35 based kernels :
The 1.x series exist for Froyo and Gingerbread. They are based on a 2.6.35.8 linux kernel. They are CFS only (no BFS version), and forked from Richard Trip's kernels (https://github.com/richardtrip/cm-kernel)
The 2.x series are for GingerBread only. They have CFS and BFS versions. They are based on a 2.6.35.13 kernel and forked from _thalamus' kernels (https://github.com/thalamus/kernel)
All of my kernels have the following characteristics :
Go from 128Mhz to 1190Mhz. If your phone crashes at those speeds, then don't use them. Not all phones are equal and they won't all accept these frequencies.
The noop IO scheduler is defined as default. I think that all the other schedulers are unnecessary with flash disks. They are too complex and consume more CPU for the same result.
Two-way call recording thanks to avs333 (http://forum.xda-developers.com/showthread.php?t=993793)
The following characteristics are available in some kernels :
BFS. Brain F*ck Scheduler. Only available on the 2.x kernels.
CFS. Completely Fair Scheduler. Choose which scheduler suits your needs the best. Check here for a description of both : http://www.stackednotion.com/2010/06/04/what-are-bfs-and-cfs
AXI. AXI optimisation is available in some kernels : http://forum.xda-developers.com/showthread.php?t=665110. When it is enabled, the AXI bus speed is lowered to 64Mhz instead of 128Mhz when the screen is off. In the other kernels, the AXI bus speed is throttled according to the current CPU speed.
HAVS. Hybrid Adaptive Voltage Scaling. Dynamically changes the phones voltage. Should use up less battery than SVS. In comparison with Richard's original kernel, I upped the maximum voltage in the overclocking frequencies to 1350mV instead of 1300mV because it didn't seem enough (at least on my phone). I also set the minimum voltage to 900mV. I feel it's a good compromise between 875 and 925...
SVS. Static Voltage Scaling.
On the ManU kernel series, it is possible to change the voltages table on the fly using the following method. On the SVS kernel, the following method was used : http://forum.xda-developers.com/showthread.php?t=821372. See the post below for a simpler description of this
The following kernels are based on an OLD version of the Android kernel. The main advantage is the battery usage : it's very low compared to the latest kernels. The source code is available at http://github.com/eviollet/cm-kernel.
As of versions 2.1, SVS versions are no longer supported. Only HAVS versions are available.
2.6.35.13 ManU-Version 2.1 - Gingerbread ONLY
Gingerbread-HAVS-CFS ----------------
Gingerbread-HAVS-AXI-CFS ----------------
Gingerbread-HAVS-BFS ----------------
Gingerbread-HAVS-AXI-BFS ----------------
2.6.35.8 ManU-Version 1.4
Froyo-HAVS-CFS ---------------- Gingerbread-HAVS-CFS ----------------
Froyo-SVS-CFS ---------------- Gingerbread-SVS-CFS ----------------
Froyo-HAVS-AXI-CFS ---------------- Gingerbread-HAVS-AXI-CFS ----------------
Froyo-SVS-AXI-CFS ---------------- Gingerbread-SVS-AXI-CFS ----------------
Many thanks to Richard Trip for helping me out with the 1.4 kernel, and to thalamus for help on the 2.0 kernel.
Version history :
11/01/12 ManU-V2.1:
HAVS only. The voltages run from 1000mV to 1350mV which means that they should be stable on all phones. Feel free to play around with the voltages using a script, or IncrediControl
LED notification should now work on GingerVillain 2.8 and upwards thanks to Richard Trip.
Added smartassV2, thanks to erasmux.
Fixed VPN on MIUI (and perhaps other ROMs) thanks to [email protected]
Fixed "adb devices" id name bug
Fixed battery calibration
Added lazy governor thanks to Ezekeel : http://forum.xda-developers.com/showthread.php?t=1276092
Added system files to display the current state of the vdd levels
Optimized onDemand governor: ondemand: Remove the iowait-is-busy tunable code. Thanks to someone (I don't know who, sorry...)
Changed the Lazy governor default values to the ones recommended by Dr Byte (80/30000)
Added debug information in the AVS module when voltage changes occur. Especially if they fail.
Added working VPN back again (credits go to mondilv)
Started changing the AVS vdd changing logic. Now only changes the frequencies that are directly impacted.
Add WiFi screen off power level switch
Fix sound issue when using voice commands when bluetooth is connected (??)
28/05/11 ManU-V2.0:
kernel rebased on V2.6.35.13
07/04/11 ManU-V1.4:
added 2-way call recording thanks to avs333 (http://forum.xda-developers.com/showthread.php?t=993793)
updated the battery driver to be compatible with "Battery Calibrator" (https://market.android.com/details?id=net.jonrichards.batterycalibrator.ui)
ZIPs are now signed
128Mhz is now available even when the screen is on with AXI kernels
Higher BlueTooth audio sound
ManU-V1.3:
added CPU Vdd levels sysfs interface for HAVS kernels as well
changed the audio settings
changed the modules location
ManU-V1.2:
added CPU Vdd levels ("undervolt") sysfs interface for SVS kernels (http://forum.xda-developers.com/showthread.php?t=821372)
fixed video recording crashes
updated most of the drivers to most recent versions
changed the kernel name in the Android about box (now reports version number as well)
changed the zip flash to (hopefully) fix problems when flashing on phones with bad sectors
fixed some kernel versions having CPU governor performance by default
ManU-V1.1:
fix battery charging issue between 90% and 100%
disable 128Mhz when the screen is on, in the AXI kernels
ManU-V1.0: Kernel based on an old version (approx. October 2010)
V1 : Fix for IPV6 on MIUI. 6.1 and 6.1se kernels
V0 : First version : 6.1 and 6.1se kernels
FAQ:
How do I know which version I'm running? : Look at the "About the phone" screen at the kernel version. It should display which options you're currently using.
Which kernel do you recommend? : I'd say ManU-HAVS-AXI-CFS. On my phone on idle, I'm using up approx. 2-3ma/h instead of 6-7 with the default kernels with this kernel. So I'm very happy with it, and am currently using it as my main kernel. If you do any testing, feel free to tell us about your own experience!
Do you recommend any settings with SetCPU? : I currently use 128-440 conservative governor when the screen is off, and 128-1130 interactive when the screen is on and it gives good results.
After some time my phone feels sluggish. Why? : Apparently there seems to be an issue when switching governors, especially with "interactive". I recommend not to use it, or stick with it and don't change. This may be fixed in the future.
*Something* doesn't work with this kernel. Can you fix it? : First of all, my knowledge of the current state of the kernel is very limited. I just changed a few things in the DeFrost kernel to suit my taste and thought that this kernel may be of interest to some other people. If you have a problem, try explaining it, and give the following details : Name and version of your current ROM, previous kernel that worked, which version of the kernel you are now trying and any other details that may be of interest. I can't guarantee that I'll be able to fix it, because I don't develop the kernel, but I can try to help.
If you have a problem, try disabling the 128Mhz and overclocking options. They may be the culprits.
If 128Mhz saves battery, why isn't it enabled by default in other kernels? : Good question, and I don't know exactly. why. Apparently it causes issues on some phones. So, if you have a problem, try disabling 128Mhz. Also, 1190Mhz is a very high value and can also cause issues. So try lowering the maximum frequencies if you have issues.
On which ROMs do these kernels work? : 1.x series work on DeFrost 6.1, probably earlier versions as well, MIUI and GingerVillain, Redux, and probably others. The 2.x series only work on GingerBread.
On which ROMs do these kernels NOT work? : Oxygen 2. I recommend directly using _thalamus' kernels for Oxygen 2 : http://thalamus.ineige.org/kernels/2.6.35/
Here is a description of how to use the sysfs interface to configure voltage levels :
For SVS kernels, the file name is "/sys/devices/system/cpu/cpu0/cpufreq/vdd_levels" and on HAVS kernels, the file name is "/sys/devices/system/cpu/cpu0/cpufreq/vdd_levels_havs".
This file is used to read the current voltage state of write new voltage settings.
How to read the settings with the HAVS interface:
connect to the phone using a terminal, or adb shell, and type "cat /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels_havs". The phone will display the frequencies and the associated high and low voltages.
If you want to change the voltages, just send "echo 128000 875 1000 > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels_havs". This will configure the minimum voltage to 875mV and max to 1000mV for the 128000 frequency.
Another useful command is "echo -25 +25 > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels_havs". This will lower the minimum voltage by 25mV and raise the maximum voltage by 25mV on ALL frequencies.
As for the SVS interface, the commands are similar.
"cat /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels" will display the frequencies and the voltages, and "echo 128000 900 > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels" will set the voltage to 900mV when the CPU is at 128Mhz.
Please note that voltages are multiples of 25mV. So, accepted values are 800, 825, 850, etc. Other values will be rounded.
There is also the possibility to visualize how the kernel is managing the HAVS voltages by using the following system files: /sys/devices/system/cpu/cpu0/cpufreq/vdd_table_havs and /sys/devices/system/cpu/cpu0/cpufreq/vdd_tables_havs
The first file lists the voltages being used for each frequency at the current temperature range.
The second file first displays the current temperature range index (starting at 0) and then the voltages being used for each frequency and for each temperature range.
The WiFi screen off power level can be configured by modifying the following file: /sys/module/bcm4329/parameters/wlLowPower
By sending 'echo 1 > /sys/module/bcm4329/parameters/wlLowPower' the WiFi will switch to low power level when the screen is switched off. By default maximum power is used at all times.
Test versions:
The following section contains test materiel. This means that I need feedback on this version, as it may (or may not) become the next official version.
For the moment, no beta/test version available.
Bien joué/Well played
difference between base and "se" version?
I'd be interested in seeing the AXI patches please, if not I'll go the hard way and fix up the ones off that thread
vivmar said:
difference between base and "se" version?
Click to expand...
Click to collapse
The base version is the current state of the art of Richard Trip's kernel, as used in DeFrost 6.1. However there seems to be battery drain issues for some using this kernel, so he put up a 6.1se version that removes all the latest patches/addons to fix the drain.
I find the normal version quite stable and works well for me, but some may prefer the se version...
I hope this answers your question?
EViollet said:
The following characteristics are available in the different kernels :
HAVS. Hybrid Adaptive Voltage Scaling. Dynamically changes the phones voltage. Should use up less battery than SVS. In comparison with Richard's original kernel, I upped the maximum voltage in the overclocking frequencies to 1350mV instead of 1300mV because it didn't seem enough (at least on my phone). I also set the minimum voltage to 900mV. I feel it's a good compromise between 875 and 925...
Click to expand...
Click to collapse
Boooo my phone works fine at 875 and 1300... but I want to try your kernels for axi....
I'll have to start work on that /proc/havs interface, since no-one else seems to want it. At least I'll have a week over xmas
Incidentally, the AXI thread you mentioned suggests that the modification is already in HTC's Desire kernel... what do they do at 128MHz?
coutts99 said:
I'd be interested in seeing the AXI patches please, if not I'll go the hard way and fix up the ones off that thread
Click to expand...
Click to collapse
I just enabled the AXI patches in the kernel. Apparently the functionnality is already included in the kernel.
Am I missing something? I must admit that I didn't look any further than that. Perhaps what I wrote is completely wrong...
EViollet said:
I just enabled the AXI patches in the kernel. Apparently the functionnality is already included in the kernel.
Am I missing something? I must admit that I didn't look any further than that. Perhaps what I wrote is completely wrong...
Click to expand...
Click to collapse
Did you patch the kernel or was it already in? Did richardtrip patch it?
Marsbar said:
Boooo my phone works fine at 875 and 1300... but I want to try your kernels for axi....
I'll have to start work on that /proc/havs interface, since no-one else seems to want it. At least I'll have a week over xmas
Incidentally, the AXI thread you mentioned suggests that the modification is already in HTC's Desire kernel... what do they do at 128MHz?
Click to expand...
Click to collapse
Do be honest, my phone also works fine at 875mV. But I had a few issues with the latest kernel that were fixed by setting it to 900mV. So I believe that 900mV is a little bit more stable. I don't intend on compiling 2 versions of the HAVS kernels, so 900mV seemed a nice compromise. Especially as quite frankly I don't see a difference in battery usage between 875 and 925...
I don't think it's worth the bother...
And as for the higher voltage for the higher speeds, it's just that I allowed HAVS to go higher. It doesn't mean that it will though. It depends on your hardware and what HAVS decides to do with it. If your phone works fine @1300mV it won't try to go any higher. HAVS adapts the voltage automatically by using 2 boundaries (high and low), and it works it's way between them...
As for the 128Mhz... the thing is that the AXI patch lowers the AXI bus to 63Mhz instead of 128Mhz. The problem is that in order to lower the CPU speed to 128Mhz, the kernel relies on the AXI bus speed. So if the AXI bus is lowered, so will the CPU. And, it will crash. Because it can't really go below 128Mhz.
That's why you can't use 128Mhz AND the AXI patch.
In any case, that's what I figured out by looking at the source code and trying it myself (I had a few crashes before understanding why... )
Regards,
coutts99 said:
Did you patch the kernel or was it already in? Did richardtrip patch it?
Click to expand...
Click to collapse
It's already in it. I doubt that Richard added it because he doesn't use it.
I guess it's already in the Cyanogen kernel (which is the base for Richard's)
EViollet said:
It's already in it. I doubt that Richard added it because he doesn't use it.
I guess it's already in the Cyanogen kernel (which is the base for Richard's)
Click to expand...
Click to collapse
Ah ok no problem, thanks
great work man, i was looking forward a kernel with hvas/bfs/noop and max freq 1190. min freq of 128 and axi are welcome!
only thing i dont like is the min freq, but its ok.
are you building straight from richard's repo? can you share the sources? and the config file?
thx!
@EViollet
First of all excellent work!
But I have one question.
You say in order to use AXI in your kernel, you have to choose at least 256MHz when the screen is on. In other words this means when it scales from 128MHz to let´s say 998 MHz AXI is automatically disabled?! So I have to choose 384MHz at SetCpu as minimum in order to use AXI?
1 issue, after enabling wifi it does nothing just keeps scanning.
Its necessary to turn airplane on/off or reboot.
Im using bfs havs axi @ 1190 max.
Sent from my HTC Desire using XDA App
crapula512 said:
great work man, i was looking forward a kernel with hvas/bfs/noop and max freq 1190. min freq of 128 and axi are welcome!
only thing i dont like is the min freq, but its ok.
are you building straight from richard's repo? can you share the sources? and the config file?
thx!
Click to expand...
Click to collapse
I'm adding a tgz file to the first post that lists all the changes I made to Richard's source code, and the configuration files I created for all the kernels. Hope this helps.
Tweak³ said:
@EViollet
First of all excellent work!
But I have one question.
You say in order to use AXI in your kernel, you have to choose at least 256MHz when the screen is on. In other words this means when it scales from 128MHz to let´s say 998 MHz AXI is automatically disabled?! So I have to choose 384MHz at SetCpu as minimum in order to use AXI?
Click to expand...
Click to collapse
If you use AXI, the CPU frequency must be higher than 128Mhz when the screen is on. If you leave 128Mhz, in reality it will get much lower, so will eventually crash.
So, the values I use are :
Screen off : 128-450
Screen on : 256-1190
Regards,
crapula512 said:
1 issue, after enabling wifi it does nothing just keeps scanning.
Its necessary to turn airplane on/off or reboot.
Im using bfs havs axi @ 1190 max.
Sent from my HTC Desire using XDA App
Click to expand...
Click to collapse
Hi.
I'm afraid I won't be able to do much here.
I'm not a developper of the kernel, so I don't know where to start.
Which ROM are you using? And which version of the kernel? 6.1? Or 6.1se?
Regards,
6.1se, rom is ginger villain 0.2.
I think its kernel related as it was working fine with 6.0c.
maybe is just a coincidence, but today benee updated his vorkkernel and ppl was having this same problem and later on he made anew version with wifi fixed.
Hope that helps and good work!
Sent from my HTC Desire using XDA App
crapula512 said:
6.1se, rom is ginger villain 0.2.
I think its kernel related as it was working fine with 6.0c.
maybe is just a coincidence, but today benee updated his vorkkernel and ppl was having this same problem and later on he made anew version with wifi fixed.
Hope that helps and good work!
Click to expand...
Click to collapse
OK. Thanks for the update.
Did you try the 6.1 kernel? It has more a more recent WiFi driver. Maybe it works better...
Edit : I just checked GingerVillain 0.4 and can confirm that the WiFi driver doesn't work correctly.
It ends up connecting but it takes a VERY VERY long time to scan.
The WiFi update in the CyanogenMod kernel probable fixes this, so I'll have a look into it.
But, for the moment I'm afraid there is no support for Gingerbread...
Regards,

[Q] Where I can read about OC/UV Beater setup?

Please advise me, what settings are the best for HTC Desire S (SHADOW HAWK V2.0|Sense 3.0|Android 2.3.5[2.10.401.8] ROM)?
Or give me a link where I can read what mean: VOC1, VOC2, VOC3, UV1, UV2 pages?
It's really not hard to understand,
VOC 1 2 and 3 are 3 profile of CPU frequency tweakers :
Here you can chose the governor and the frequency of the CPU
You can set wake and sleep governors, low frequency and high frequency.
With Hyperion kernel, i set
ondemand
245000
1152000
conservative
245000
614400
I don't know if you can OC/UV with a stock kernel.. Maybe someone can answer you better than me.
And it's really fluid and low battery eater.
UV1 and 2 are profiles for CPU voltage tweakers
CPU voltage tweak can affect the stability of the system.
The lower the voltage is the greater the battery life is.
I advise a -25mv every where (ALL -25)
But not more, i had stability issues with -50 and more.
I know how to set a cpu clock but I don't understand those profiles onemand, virtuous, conservative etc. Could someone explain me the diffrence between them?
IT.Adviser said:
Please advise me, what settings are the best for HTC Desire S (SHADOW HAWK V2.0|Sense 3.0|Android 2.3.5[2.10.401.8] ROM)?
Or give me a link where I can read what mean: VOC1, VOC2, VOC3, UV1, UV2 pages?
Click to expand...
Click to collapse
if you are using stock kernel then you cant OC or UV
but if you use a custom kernel like Hyperion kernel you can OC /uv
VOC1 is for setting the frequencies
this is what i use
wake
governer: virtuous
min:384000
max:1228800(you can set it higher if you have any lag)
sleep
governer: conservative
min:245000
max:384000
press perm activate button
VOC2,VOC3 are like more profiles which you can switch to when needed
UV1 is for reducing/increasing voltage
if you are using hyperion v2.0 kernel you can uv by -50 (-25 if you have stability issues)
to do this press all -25 twice & then press perm activate
If you are going to change UV settings use the temp activate for a while cause if the phone freezes it will revert to stock settings on reboot
Sent from my HTC Desire S using XDA App
These are called governors. They control the way the CPU ramps up between the maximum and minimum frequency. Go to setcpu's website for a list of descriptions between all the different governor s
Right, setcpu homepage explained me everything.
kartkk said:
if you are using stock kernel then you cant OC or UV
but if you use a custom kernel like Hyperion kernel you can OC /uv
VOC1 is for setting the frequencies
this is what i use
wake
governer: virtuous
min:384000
max:1228800(you can set it higher if you have any lag)
sleep
governer: conservative
min:245000
max:384000
press perm activate button
VOC2,VOC3 are like more profiles which you can switch to when needed
UV1 is for reducing/increasing voltage
if you are using hyperion v2.0 kernel you can uv by -50 (-25 if you have stability issues)
to do this press all -25 twice & then press perm activate
Click to expand...
Click to collapse
Thanks Kartkk for the info. I am using the Endymion sense 3.5 ROM with the Endymion Kernel V2 on my Htc Desire S. Sorry for being such a noob at this but just wanted to ask you lot soemthing. Users on that forum somehow seem to get Quadrant Scores of over 2000, I only manage score upto like 1750 with the settings you have mentioned above. Please Advise.
Thanks in advance.
I'm running a pre-rooted, deodexed 2.3.5, and have now tried 2 different kernels (unity and hyperion) and while I can make changes in SetCPU, I'm unable to alter tin UV settings in UV/OC beater because the kernel doesn't allow it.
Does anyone understand why this might be? X
Default undervolt values
Can someone please post the default undervolt values for the respective frequencies. I want to set back my phone to the default voltage. Thanks allot
OV is risky business if you ask me
I have htcdev unlocked DS (after ics ruu) S-on,...
I guess that some kernels allow UC/OC and UV/OV but some don't. I only tried two diffident roms fallout v5 which allowed both, but now I running finnys JB 4.2.1 rom which allows only UC/OC but not UV/OV(according to pimp my rom app).
Benchmarks cores; fallout5 antutu score: 4600, JB antutu score: 4050 but JB runs faster, smoother, slicker
And if you cannot find default values just restore nandroid backup image, and then look for values there.

Overclocking Transformer TF101

Hello world,
I am wondering what program you guys use to overclock your tablet? Or what procedure? I am currently at ARHD rom with ICS test 21.3 kernel and am wondering what clocks do you guys use - suggest also some UV list would be great
thanx
make love,
miHah
apps to control cpu speed
use: set cpu (paid) or nstools (free)
Ok, what about schedulers? I installed setcpu and its on "sio" ondefault. Which one to use and when?
I don't like setcpu, or any app to oc for that matter. When I was on ARHD (and therefore had to use an app) I used No-frills CPU control, not too many bells and whistles and worked.
I highly recommend 'interactive' for a performance governor, it's easier on the battery life than performance and snappy.
Default scheduler with wifi off during sleep tweaks is fine.
I use 1.4 Clock at home and 1.2 out and about, but you can probably go higher if you want, 1.2/4 is plenty fine for me though. (I keep my RAM really free though, I feel that is more important. IMO)

Interactive governor freezes frequency change

Hi,
I am fighting against a problem with interactive cpu governor. For some reason cpu frequency gets randomly locked to any value. Rom is Android Revolution HD and kernel is faux 8b9. However, this has happend with older kernels & roms too.
Any ideas ? Familiar issue to anybody ?
Thanks !

[Q] What kernel preferences?

I have the ViperS 1.6.3. Rom on my Sensation and it works fine, but my Kernel settings are crap.
at "Performance", it suck my battery instant-zero when trying to play any game and "interactive" went straight "to sleep" when not used and did not remind me (wake-up-call), when needed?
i have:
read-ahead size 768k
min-CPU 594
max-CPU 1404
using SebastianFM Kernel 1.5.2
so could someone tell me the ideal Governor and Speeds for good use.
I'm only using it for Internet/3G, FB and stuff, and few Games (Tapped out and a few minor) - so average use.
thanks in advance

Categories

Resources