DroidX CPU Governors and SIO Kernel Scheduler V2.2

Search This thread

skeevydude

Inactive Recognized Contributor
Feb 10, 2012
3,072
3,042
39
Hot Springs
Update 2012\05\16
Removed blank bootmenu folder
Cleaned up init script, removed unsupported lines, added supported lines
Included SD Card Cache Tweak with 2048 value, to match io tweaks
**The lines weren't supported on Bravo Froyo Kernel, added new lines from /sys/block/mmcblk0/queue/iosched**
**If the removed lines are supported on GB Kernel, let me know and I'll make a zip for each kernel.**
**Just remove the last 2 lines of the init script if you don't want\need the SD Cache Tweak**

Update 2012\05\15
Removed Undervolt settings -- makes zip universal for Defy, Defy+, Bravo, and Milestone
SIO IO Scheduler now properly loads -- no market app needed now.

I originally made this for the Bravo, my phone, but posted it in the Defy forums as well. Since they're getting good results, I thought you guys would like them as well. In theory, it should work with Bravo, Defy, Defy+, Milestone 2, Cliq 2, Droid X, Droid2....basicly any phone with OMAP36XX and Froyo or Gingerbread Kernel (and same mount points as Bravo\Defy).

V2 Removed the Undervolt Settings, caused problems with GB kernel's 4 Vsels, and fixed it so SIO would load without a market app (original DX script didn't work right).

Copy of Original Bravo Post
This CWM compatible zip will install the DroidX smartassv2 and BOOSTEDassV2 cpu governors as well as the SIO Kernel Scheduler. While I've only tested this on CM9, it should work on ANY rom with init.d support and Defy 2nd-init Bootmenu....meaning all CM7\9 and Miui roms. I'm unsure if MS2Ginger and Stock Froyo have init.d support. It also undervolts the rom to 300@20, 600@40, and 1000@54. Those values work fine with CM9 on my phone, meaning no fc's due from being too undervolted. -- Not Anymore

To install, simply flash the zip in cwn and you're done. Wiping Cache and Dalvik Cache isn't necessary.

To use the Governors, select the governor in the CM Performance Menu and select apply on boot, or use a CPU Governor program from the market. I recommend No Frills CPU Control --- its free, no ads, no bs permissions, and you can select the io scheduler.

To use the SIO Kernel Scheduler, install No Frills Cpu Control from the market and select SIO (or noop) from the bottom menu. (Not Necessary Now)

I haven't used SIO very much (5-10 mins now), but it seems to be working well. The noop scheduler works great, and is what I normally use; but I've always read good things about SIO (and wanted to use it), so I thought I'd include it as well.

I'd give thanks to the authors of the Governors and Schedulers, but I have no idea who wrote them....I only found them in Beanstown106's DroidX Miui V4 rom and they happen to work wonderfully on the Bravo.
 

Attachments

  • DroidXGovernorsV2.1.zip
    191.2 KB · Views: 139
  • DroidXGovernorsV2.2.zip
    191.3 KB · Views: 1,004
Last edited:

oh0

Senior Member
Jan 14, 2011
54
14
thx for this work but when i install this zip over cwm5 i become an "Status 6" error.
 

skeevydude

Inactive Recognized Contributor
Feb 10, 2012
3,072
3,042
39
Hot Springs
thx for this work but when i install this zip over cwm5 i become an "Status 6" error.

Odd. I flashed 3 times before uploading to make sure it worked. And it works on Defy and Bravo. Does the MS2 use --mount("ext3", "EMMC", "/dev/block/mmcblk1p21", "/system");-- to mount /system in roms?

I decided to recheck my scripting, and I left and forgot some () in it. I uploaded my pc's copy, and not the edited one on my phone. Oops, sorry. I'll have a new zip up in about 5 minutes.

New zip attached to the first post.
 
Last edited:
  • Like
Reactions: fedegin

oh0

Senior Member
Jan 14, 2011
54
14
so the installation works. but wenn i select one of the governors it go´s back to ondamed. I use CM9 with GB Kernel.
 

skeevydude

Inactive Recognized Contributor
Feb 10, 2012
3,072
3,042
39
Hot Springs
I know that it works on Defy CM9 with GB kernel, and MS2Ginger with GB kernel as well. The Bravo only has Froyo Kernel:( so its impossible for me to test with it. The governors themselves came from MiuiV4 Droid X with GB kernel. Everyone seems to be using the BoostedAssV2 governor and getting good results with it.

Are you using the CM Performance Menu to set the governor? If so, try out No Frills CPU Control (free from market). You'll also be able to tell if SIO is loading with No Frills as well.

I'm curious if its a Milestone CM9 bug since it works just fine on Defy (& +) and Bravo CM9. Can anyone here try on CM7 or CM9 with Froyo kernel? Do you have CM9 with Froyo kernel?

Something to try is to open terminal on the phone and type:
su
insmod /system/lib/modules/cpufreq_BOOSTEDassV2.ko
insmod /system/lib/modules/cpufreq_smartassv2.ko

(or use -- adb shell insmod rest/of/command)
and see if they load manually.
 

oh0

Senior Member
Jan 14, 2011
54
14
when i use terminal and tip insmod /system/lib/modules/cpufreq_BOOSTEDassV2.ko it say´s "faild (File exists).

€: with no-frills cpu controll it works.

thanks.
 
Last edited:

skeevydude

Inactive Recognized Contributor
Feb 10, 2012
3,072
3,042
39
Hot Springs
when i use terminal and tip insmod /system/lib/modules/cpufreq_BOOSTEDassV2.ko it say´s "faild (File exists).

Means its loaded.

I'd ask you to post a logcat, but after watching my logcat output, it doesn't explicitly show which governor is used, is being changed, or exact commands. Try SetCPU or No Frills from the market. A few Defy users use SetCPU, I use No Frills. One Defy user had to use System Tuner Pro to use them, but I don't think he read the first post correctly and was trying to load them from the bootmenu.

Try enabling "Load all Modules" in the CPU part of the bootmenu and Enable Overclocking from there as well. It shouldn't matter (Load all Modules) since the governors are loaded in an init script, but that's how my phone is right now, and the first script initially was. Also ondemand is the default fallback governor when nothing is used, which could explain why ondemand keeps getting selected no matter what you do.

lsmod (run in terminal) shows all modules loaded

Here's a screenshot of my lsmod
 

Attachments

  • lsmod.jpg
    lsmod.jpg
    34.6 KB · Views: 586

oh0

Senior Member
Jan 14, 2011
54
14
i can switch the govenor with no-frills. but not over Settings->performance

but when i switch the govenor with no-frills to smartassV2 it shows me in Settings->Performance that it is SamartassV2.

sry for my bad english ;-)
 

skeevydude

Inactive Recognized Contributor
Feb 10, 2012
3,072
3,042
39
Hot Springs
At least its working now. That's a start anyways. Odd that its not in the CM Menu. They are for my phone and Defy.

How about sio, does it load properly? Just lsmod and it will be sio_iosched.
 
  • Like
Reactions: djlooka

oh0

Senior Member
Jan 14, 2011
54
14
terminal shows me: "sio_iosched 3444 2 - Live 0xbf0d4000"
I think it works.
 

skeevydude

Inactive Recognized Contributor
Feb 10, 2012
3,072
3,042
39
Hot Springs
this really improves the performance of the phone? I install speedyv7! are similar?

Never heard of speedyv7 until now. I looked over its scripts and the only commands that are the same refer to the IO scheduler; which won't work on my phone (doesn't have the deadline IO or some of the io queue commands). The IO commands, other than using sio, are exactly the same so there shouldn't be any problems using them together. SIO will be the scheduler used if the scripts are used together since my init script loads afterwords.

FYI, SIO is a mix between the NOOP and DEADLINE schedulers and is supposed to be better. "Supposed to" are the key words, but SIO has been working great on my phone since I first installed it, though I haven't ran any benchmarks or tests to confirm anything between IO's, governors, and performance; but judging by how my phone feels now, sio and BOOSTEDassV2 make a good combination. Long ass sentence, huh; I suppose it's a triple compound.

Now I have to make a speedyv7 script for my Bravo, damn you:D
Thanks for pointing them out.
 
  • Like
Reactions: fedegin

djlooka

Senior Member
Sep 15, 2011
131
30
desperatenerd.wordpress.com
Currently installing v2.2...
Fingers crossed! :)

EDIT:
Installed, everything went smooth as silk.
I can set it from Settings > CyanogenMod > Performance > CPU Settings

I have had V6 SuperCharger for a month. Does SIO interfere somehow?
 
Last edited:

skeevydude

Inactive Recognized Contributor
Feb 10, 2012
3,072
3,042
39
Hot Springs
Currently installing v2.2...
Fingers crossed! :)

EDIT:
Installed, everything went smooth as silk.
I can set it from Settings > CyanogenMod > Performance > CPU Settings

I have had V6 SuperCharger for a month. Does SIO interfere somehow?

I don't think so. Maybe with Kick Ass Kernelizer since they both load an IO Scheduler, but whichever one is loaded last will have the settings stick. My script runs pretty early, so chances are its settings will be overwritten by KaK.

If you're going to use SIO, I'd rerun Kernelizer and pick "sio" to be safe.
 

Alchedin

Senior Member
Jun 1, 2012
118
39
Moto G
Samsung Galaxy Grand 2
Hi I checked this with ICS 4.0.4 and when I install it through CWM all went OK.

Now when I go to performance settings of ICS i have 2 times 1000 mhz? I even did a clean install for verification.

So in short I have:

300 Mhz
600 Mhz
1000 Mhz
1000 Mhz

Any idea? I'm missing the 800 Mhz value.

Thanks!
 
Last edited:

Megalith27

Senior Member
Feb 17, 2012
549
277
Baku
Hi I checked this with ICS 4.0.4 and when I install it through CWM all went OK.

Now when I go to performance settings of ICS i have 2 times 1000 mhz? I even did a clean install for verification.

So in short I have:

300 Mhz
600 Mhz
1000 Mhz
1000 Mhz

Any idea? I'm missing the 800 Mhz value.

Thanks!

It's not the Governor but the CM9 4.0.4 Bootmenu issue, as it is ported to MS2 from Defy and Defy only has 3 CPU frequencies, 3rd and 4th ones on MS2 are being duplicated by default.
Use Milestone 2 Toolbox or Bootmenu CPU Setting to introduce/change 800 Mhz and Vsel3 value that works for you.
 
  • Like
Reactions: Alchedin

Top Liked Posts

  • There are no posts matching your filters.
  • 10
    Update 2012\05\16
    Removed blank bootmenu folder
    Cleaned up init script, removed unsupported lines, added supported lines
    Included SD Card Cache Tweak with 2048 value, to match io tweaks
    **The lines weren't supported on Bravo Froyo Kernel, added new lines from /sys/block/mmcblk0/queue/iosched**
    **If the removed lines are supported on GB Kernel, let me know and I'll make a zip for each kernel.**
    **Just remove the last 2 lines of the init script if you don't want\need the SD Cache Tweak**

    Update 2012\05\15
    Removed Undervolt settings -- makes zip universal for Defy, Defy+, Bravo, and Milestone
    SIO IO Scheduler now properly loads -- no market app needed now.

    I originally made this for the Bravo, my phone, but posted it in the Defy forums as well. Since they're getting good results, I thought you guys would like them as well. In theory, it should work with Bravo, Defy, Defy+, Milestone 2, Cliq 2, Droid X, Droid2....basicly any phone with OMAP36XX and Froyo or Gingerbread Kernel (and same mount points as Bravo\Defy).

    V2 Removed the Undervolt Settings, caused problems with GB kernel's 4 Vsels, and fixed it so SIO would load without a market app (original DX script didn't work right).

    Copy of Original Bravo Post
    This CWM compatible zip will install the DroidX smartassv2 and BOOSTEDassV2 cpu governors as well as the SIO Kernel Scheduler. While I've only tested this on CM9, it should work on ANY rom with init.d support and Defy 2nd-init Bootmenu....meaning all CM7\9 and Miui roms. I'm unsure if MS2Ginger and Stock Froyo have init.d support. It also undervolts the rom to 300@20, 600@40, and 1000@54. Those values work fine with CM9 on my phone, meaning no fc's due from being too undervolted. -- Not Anymore

    To install, simply flash the zip in cwn and you're done. Wiping Cache and Dalvik Cache isn't necessary.

    To use the Governors, select the governor in the CM Performance Menu and select apply on boot, or use a CPU Governor program from the market. I recommend No Frills CPU Control --- its free, no ads, no bs permissions, and you can select the io scheduler.

    To use the SIO Kernel Scheduler, install No Frills Cpu Control from the market and select SIO (or noop) from the bottom menu. (Not Necessary Now)

    I haven't used SIO very much (5-10 mins now), but it seems to be working well. The noop scheduler works great, and is what I normally use; but I've always read good things about SIO (and wanted to use it), so I thought I'd include it as well.

    I'd give thanks to the authors of the Governors and Schedulers, but I have no idea who wrote them....I only found them in Beanstown106's DroidX Miui V4 rom and they happen to work wonderfully on the Bravo.
    3
    I'm not gonna even comment on what can and can't be done with the custom kernel. I'll let the guys like Quarx who know the most do that part.

    In the meantime I've compiled some new io schedulers for us -- deadline and anticipatory. The zips non flashable and everything needs to be done manually

    Taken from another thread here on xda(For the love of God read that thread from top to bottom and you'll know everything needed to know about governors, schedulers, etc)
    However, considering the overall performance, battery, reliability and low latency, it is believed that
    SIO > Noop > Deadline > VR > BFQ > CFQ, given all schedulers are tweaked and the storage used is a flash device.

    To use (instructions for deadline)
    1. extract zip
    2. copy\push files to /system/lib/modules/
    3. chmod 0644 /system/lib/modules/deadline-iosched.ko
    4. insmod /system/lib/modules/deadline-iosched.ko

    Once the copy and chmod are done, you can load on boot by using an init script like so

    Code:
    insmod /system/lib/modules/deadline-iosched.ko
    echo "deadline" > /sys/block/mmcblk0/queue/scheduler

    //it may be echo "DEADLINE" > /same/as/the/rest -- haven't done the init script myself since I've only insmod loaded them :p
    //Depending on how PA responds the next few days with deadline, it may be the new io scheduler I use
    //Built from Bravo Froyo Kernel Sources, should work on Defy Froyo as well. Not sure about Defy\MS2 GB kernel
    //Gonna look into other governors now that I've successfully compiled the kernel and some modules for it
    //Still haven't gotten 2nd-boot kernel to work.....yet
    2
    Thanks Megalith got it working, I've set the voltage to 52 for 800 Mhz which I presume to be correct?

    300 mhz - 30v
    600 mhz - 46v
    800 mhz - 52v
    1000 mhz - 58v

    Cheers

    Not a prob. The generic formula for Vsel based on frequency is:
    Frequency/20 + 4 = Vsel value
    i.e. 300/20 + 4 = 19v

    But like I said it is very generic and sometimes, if values are low, may cause hotboots...so if you get boots on high demand increase 2 highest vsel values, if boots are occuring on low demand increase lower ones, usually by 2
    1
    thx for this work but when i install this zip over cwm5 i become an "Status 6" error.

    Odd. I flashed 3 times before uploading to make sure it worked. And it works on Defy and Bravo. Does the MS2 use --mount("ext3", "EMMC", "/dev/block/mmcblk1p21", "/system");-- to mount /system in roms?

    I decided to recheck my scripting, and I left and forgot some () in it. I uploaded my pc's copy, and not the edited one on my phone. Oops, sorry. I'll have a new zip up in about 5 minutes.

    New zip attached to the first post.
    1
    At least its working now. That's a start anyways. Odd that its not in the CM Menu. They are for my phone and Defy.

    How about sio, does it load properly? Just lsmod and it will be sio_iosched.