[Kernel] [froyo] leanKernel: minimalistic kernel, v2.6.0 sense 6/5/11

Search This thread

Imoseyon

Recognized Developer
Dec 21, 2010
2,495
8,858
Mountain View, CA
This is a minimalistic Thunderbolt kernel based on the HTC Incredible S source (vivo-2.6.35.9), then upgraded to 2.6.35.13. Some of the code is backported from latest linux (2.6.39). See FEATURES section for more details on how awesome this is. :)

SENSE - ALL FROYO ROMS
1) lean: stripped down and minimalistic. undervolt/overclock/slots are now controlled by the "speedtweak.sh" script (more info below)
2) special edition: slightly less lean. Supports in-call recording, and TUN. "speedtweak.sh" script also available.
3) 184Mhz: lean version with 184Mhz enabled (but locked by default). You may experience battery drain or overheat when you unlock the slot.

SENSE KERNEL DOWNLOADS (ALL ROMS EXCEPT CM7):
1) lean, 2) special edition, 3) 184Mhz

speedtweak.sh
This script will allow you to "transform" your kernel into normal, extreme, 1.92, 1.92X and battsaver versions (ie. it allows you to control speed, voltage, and slots to a certain degree). Once you run the script, everything will be self-explanatory. To run the script:
1) Open Terminal Emulator (install it from market if you don't have it).
2) Type "su" (without quotes) and hit enter.
3) Type "speedtweak.sh" (without quotes) and hit enter.
leanKernel kernel speed tweaker
------------------------------_
1) normal: undervolted, overclocked to 1.41Ghz
2) extreme: extremely undervolted, overclocked to 1.41Ghz
3) 1.92: undervolted, overclocked to 1.92Ghz
4) 1.92X: extremely undervolted, overclocked to 1.92Ghz
5) battsaver: extremely undervolted, not overclocked

6) Unlock 184Mhz
7) Lock 184Mhz
8) View current settings

Please type 1, 2, 3, 4, 5, 6, 7, or 8:
speedtweak.sh and SetCPU
The risk of running setcpu is that it can inadvertently override the min and the max that were set by the speedtweak script. (oh it can also override the governor setting but that's not as bad). Other than that it's pretty harmless - it can't mess with the voltage settings. So if you're going to use SetCPU, keep this in mind. One way to make this work is to use SetCPU to configure governor and min/max, and use speedtweak.sh to configure voltage settings. Or just don't use SetCPU. :)

FEATURES
  1. Linux Kernel v2.6.35.13. This is many revisions newer than the stock tbolt linux kernel. Majority of kernel code such as memory management, file systems, network, kernel base, etc were mostly completely re-written and are either identical or very similar to latest linux kernel (2.6.39).
  2. speedtweak.sh script to adjust clock frequencies and voltages.
  3. Completely reworked on-demand governor (backported from linux-2.6.39-rc2) for better performance and power efficiency.
  4. Heavily modified/optimized smartass code (based on erasmux's latest git).
  5. InteractiveX and ondemandX governors! Added my own suspend code to interactive and ondemand code to make the phone lock at low clock speed when screen is off. No need for sleep setcpu profile anymore.
  6. For 1.92Ghz builds, interactiveX and smartass governors were modified to minimize unnecessary spikes above 1.8Ghz to keep phone stable.
  7. My kernel tweaks directly applied to kernel and ramdisk via code changes. ie. vm, minfree, etc. No more sysctl and init.d shenanigans! :)
  8. No EXT2, TUN, FUSE, YAFFS/2, etc. Stripped down and lean!
  9. backported 2.6.35 wifi driver which includes low power mode! (idle wifi consumes 50% of power than stock wifi driver). Sense only.
  10. low # (5-10) of cpufreq slots for simple management and less governer transitions.
  11. Undervolted *drastically* for longer battery life.
  12. SWAP and EXT4 enabled.
  13. Increased readahead buffer.
  14. init.d enabled in ramdisk
  15. filesystem speedup in ramdisk
.. a few other small optimizations

BATTERY SAVING TIPS
1) Install one of my kernels, 2) Stay on WIFI as long as possible (ie. avoid 3g/4g as much as possible).

CHANGELOGS (SENSE)
v0.1 - initial beta release (testers are welcome!)
v0.2 - fixed quadrant/linpack scores! (apparently my own overclocking code was kinda lame - borrowed code from richardtrip for now - more changes in the future).
v0.3 - added MD back in (needed for a2sd), undervolted the crap out of it especially lowest frequency which is where your phone spends most of its time, added /tmp tmpfs support, disabled install-recovery so init.d scripts don't run twice.
v0.4 - removed YAFFS/2 (shaved off 2Kbytes), added 460800 clock speed, removed powersave governor.
v0.5 - increased readahead buffer to 1024KB (should improve I/O, especially for sdcard), created lame and 1.92Ghz versions.
v0.6 - Reworked on-demand governor, backported from linux-2.6.39-rc2, which includes massive amount of improvements and fixes.
v0.7 - Added 122880 at 550 VDD for extended battery life. Went back to my own overclock code (for the most part) without losing speed.
v0.71 - fixed a bug preventing the 1.92 version from booting. Cleaned up some overclock code and adjusted VDD a bit on some of the clock speeds. Changed file names which make better sense now.
v0.72 (extreme version only) - got rid of 123Mhz. good riddance! Undervolted some more.
v0.72 (1.92) - fudged around the VDD to stabilize it for difficult phones.
v0.8 - Implemented smartass governor (based on erasmux's latest, optimized code for my kernel), reworked conservative governor (backported from latest linux source), added 1.79Ghz slot for 1.92 version, removed EXT4 until I have a reliable way to convert filesystems, brought back LOGGER until i'm done debugging stuff, more VDD tweaks, and filesystem speedups in ramdisk.
v0.85 - reworked overclock code, tweaked VDD some more to stabilize. added audio & battery tweaks from adrynalyne per popular requests
v0.9 (4/13/11) - removed profiling for extra speed, reworked slab allocator (backported from 2.6.39-rc2), backported 2.6.35 wifi driver (low power mode!), added battsaver version, optimized the heck out of smartass for power efficiency, disabled a couple of debug stuff for smaller kernel, removed performance governor.
v0.92 (4/14/11) - fixed smartass performance (should be close to ondemand now), changed default i/o scheduler to noop and removed other i/o schedulers (even leaner!)
v1.0 (4/15/11) - introducing interactiveX governor (interactive + my own suspend code), heavily optimized smartass code (again), undervolted 1.92X a little more at the top end, removed conservative governor, made interactiveX default, went back to deadline i/o scheduler (was causing issues with 1.92 overclock).
v1.1 (4/18/11) - ondemandX governor (ondemand + my own suspend code to keep phone under 369Mhz when screen is off), modified interactiveX and smartass governors to prevent unnecessary spikes over 1.8Ghz to stabilize my 1.92 builds, extreme/1.92X/battsaver now all share the same VDDs at and below 1024Mhz, OC/UV code re-written again to smooth out transitions and reduce random reboots, and added one more slot to 1.92 builds.
v1.11 (4/19/11) - fixed smartass to suspend properly (ONLY NEED TO UPDATE IF YOU'RE USING SMARTASS).
v1.2.3 (4/27/11) - fixed 1Ghz speed, removed more unnecessary components for leaner kernel, GPU+ patch from CM.
v2.0.0 (5/5/11) - brand new kernel base (2.6.35) - mostly new code. Extreme,battsaver, and 1.92X have an extra slot at 184Mhz/650VDD for better battery life.
v2.0.1 (5/5/11) - extreme, 1.92X and battsaver only. Fixed lowest clock undervolting.
v2.1.0 (5/6/11) - 184Mhz battery draining fixed, flashlight brightness fixed, EXT4 enabled
v2.1.1 (5/8/11) - 184Mhz slot disabled by default (use the enable_lowslot.zip to re-enable it), filesystem speedup in ramdisk, full kernel version names.
v2.2.0 (5/8/11) - revamped governors to possibly improve battery life while on 3g/4g (fingers crossed), brought back readahead buffer tweak from my mecha kernels.
v2.4 (5/10/11) - combined all my kernel flavors into one, speed/voltage can be controlled by speedtweak.sh script, added vdd_levels support (code from snq- via adrenalyn's git), kernel upgraded to 2.6.35.13.
v2.4.1 (5/11/11) - enhanced speedtweak.sh to include governors and show current mode. EXT4 mounting is now enabled for EXT3 partitions. Temporarily added a 246Mhz version until I get in touch with setcpu folks.
v2.4.2 (5/11/11) - fixed 184Mhz (sorry about that)
v2.4.3 (5/11/11) - fixed speedtweak settings not sticking at reboot (sorry about that!!)
v2.4.4 (5/12/11) - made a tiny change to speedtweak script to require you to hit enter before the screen loops back. Purely aesthetics - optional upgrade.
v2.4.6 (5/12/11) - reverted to EXT3, EXT4 was killing quandrant scores. Will bring back EXT4 after more testing.
v2.5 (5/14/11) - reworked interactiveX for better performance and power efficiency, removed 184Mhz from lean version, created a separate 184Mhz version, enhanced speedtweak script (added time-in-state), enhanced filesystem mount options for speed.
v2.5.1 (5/16/11) - reverted interactiveX wake speed, added a setcpu friendly option to speedtweak.sh.
v2.6.0 (6/5/11) - in-call recording added by default, overclock code reworked, interactive/smartass governor tweaked, speedtweak.sh script enhanced.

DIRECTIONS
Uh.... flash the zip in clockworkmod. No need to wipe anything.

GOVERNORS
First, my take on the governors that are out there: http://forum.xda-developers.com/showpost.php?p=13020648&postcount=617
I offer three governors: interactiveX, ondemandX, and smartass. What are they?
  • interactiveX - it's the interactive governor from CM, but I added suspend/wake logic so when the phone screen is off it runs at 246Mhz. Also, I modified its code some more to minimize unnecessary cpu spikes above 1.8Ghz if you happen to be running one of my 1.92 kernels. Most tbolts are unstable above 1.8Ghz, and it's the quick jump above 1.8Ghz that usually locks up the phone. It will hit 1.92Ghz only when it makes sense (ie. sustained high load). This is my favorite governor - perfect combination of speed and power efficiency.
  • ondemandX - ondemand governor code from latest linux source *plus* the suspend/wake logic described above, except it has the ability to ramp to 369Mhz while screen is off. No additional code was added for stabilizing above 1.8Ghz.
  • smartass - smartass code from erasmux, but I wasn't happy with its performance so I tuned it for quicker ramp up in speed. It has the same suspend/wake logic as ondemandX, and the same >1.8Ghz stabilizing mod as interactiveX.

FAQ
1) Why 1.41Ghz? - my kernel's 1.41 runs very close to stock voltage at 1Ghz, and with the other frequencies undervolted you should realize longer battery life. If you go any higher, you're going to experience poor battery life since you need to use more juice to support higher frequency. Plus most of you probably can't tell the difference between 1.4 and 1.8. ;)
2) Why release so often? - I try to minimize # of changes to at most 2-3 per release so we can easily pinpoint any benefits or harm my code changes or tweaks made.
3) What is enable_swap.zip and why do i need it? - Flashing the zip will create a 200MB swap file (at next boot) and activate the swapfile on every boot. Completely optional. Read more about it here.

bitbucket: https://bitbucket.org/imoseyon/leankernel-tbolt-aosp-vivo, https://bitbucket.org/imoseyon/leankernel-tbolt-sense-vivo

SDtGWW2
xKZcePL


Donate to your favorite charity, or donate to me.
 

Attachments

  • disableswap.zip
    140.9 KB · Views: 429
  • enable_swap.zip
    141.8 KB · Views: 1,208
  • make_smartass_default.zip
    141.6 KB · Views: 305
  • make_battsaver.zip
    141.7 KB · Views: 297
  • make_extreme.zip
    141.7 KB · Views: 277
  • make_interactiveX_default.zip
    141.6 KB · Views: 355
Last edited:

MYxdaUSERNAME

Senior Member
Jan 26, 2010
547
57
IL
cool, gonna run this for a day and report back. quadrant is way down, but the phone feels just as snappy...any chance of adding something around 400 to use as a min setting?
 

Imoseyon

Recognized Developer
Dec 21, 2010
2,495
8,858
Mountain View, CA
Just for clarification, when you say no "LOGGER", this is something separate from what is used to generate the system logs to produce a logcat right?

Sent from my ADR6400L using Tapatalk

LOGGER = logcat. If you're an advanced user, i think dmesg might be good enough for some troubleshooting. If there's enough demand for logcat, i can release another kernel called SlightlyLessLeanKernel. ;)
 

jlevy73

Senior Member
Nov 8, 2009
9,471
1,302
Los Angeles
Thanks for the kernel. I will definitely try this out and report back with comments.

Is there a preferred governor we should use? I assume on-demand but wanted to know if this has been tweaked for smartass?
 

Sweeny Russ

Senior Member
Aug 27, 2008
397
16
St. Petersburg, FL
Kernel is functional on Virus rom, however, regardless of the battery savings the quadrants were too low for my tastes. 1741, 1856, and 1912. I could achieve 1800 on my dinc. I am more about performance, I don't know if there is further tweaking but I could achieve over 2000 easily with bamf's 1.2G OC kernel. Don't know about longevity of battery life and won't know, but bluetooth, internet, and wifi are all functional. Thanks for your efforts.
 

Zshazz

Member
Mar 28, 2010
40
4
1) Automatic process group scheduling (this patch dramatically speeds up desktop linux - not sure how much effect on android phone).

It won't make any difference at all.


I'll try the kernel out tomorrow and let you know how it goes :) ... thanks for posting this.
 

livestrong2012

Senior Member
Jul 28, 2010
65
4
Michigan
Once a couple people have tried this and reported, will probably give it a try. I like the different approach toward things.
Look forward to reading more!

Sent from my ADR6400L using XDA Premium App
 

Imoseyon

Recognized Developer
Dec 21, 2010
2,495
8,858
Mountain View, CA
cool, gonna run this for a day and report back. quadrant is way down, but the phone feels just as snappy...any chance of adding something around 400 to use as a min setting?

hmmm quadrant and linpack scores do concern me a little. I'm going to remove the autogroup scheduler tomorrow and do a comparison between the two. Thanks for testing guys!
 
Last edited:

MYxdaUSERNAME

Senior Member
Jan 26, 2010
547
57
IL
lets golf and raging thunder 2 both play great, and like I mentioned, the phone still feels quick and snappy @ 1408/768 ondemand..i'll check the battery life out tomorrow once I get it fully charged.
 

Imoseyon

Recognized Developer
Dec 21, 2010
2,495
8,858
Mountain View, CA
Quadrant indeed is quite low, 1967 at 1408/1408 performance. FPS is very low @ 17fps and I/O score is about 1/2 what I've seen on the bamf kernel

Hehe, i'm going to add "SLOW" to the list of features on the OP. Actually i think i know what the problem is. Will have a fix soon... (or tomorrow since it's bedtime for me).
 

Top Liked Posts

  • There are no posts matching your filters.
  • 66
    This is a minimalistic Thunderbolt kernel based on the HTC Incredible S source (vivo-2.6.35.9), then upgraded to 2.6.35.13. Some of the code is backported from latest linux (2.6.39). See FEATURES section for more details on how awesome this is. :)

    SENSE - ALL FROYO ROMS
    1) lean: stripped down and minimalistic. undervolt/overclock/slots are now controlled by the "speedtweak.sh" script (more info below)
    2) special edition: slightly less lean. Supports in-call recording, and TUN. "speedtweak.sh" script also available.
    3) 184Mhz: lean version with 184Mhz enabled (but locked by default). You may experience battery drain or overheat when you unlock the slot.

    SENSE KERNEL DOWNLOADS (ALL ROMS EXCEPT CM7):
    1) lean, 2) special edition, 3) 184Mhz

    speedtweak.sh
    This script will allow you to "transform" your kernel into normal, extreme, 1.92, 1.92X and battsaver versions (ie. it allows you to control speed, voltage, and slots to a certain degree). Once you run the script, everything will be self-explanatory. To run the script:
    1) Open Terminal Emulator (install it from market if you don't have it).
    2) Type "su" (without quotes) and hit enter.
    3) Type "speedtweak.sh" (without quotes) and hit enter.
    leanKernel kernel speed tweaker
    ------------------------------_
    1) normal: undervolted, overclocked to 1.41Ghz
    2) extreme: extremely undervolted, overclocked to 1.41Ghz
    3) 1.92: undervolted, overclocked to 1.92Ghz
    4) 1.92X: extremely undervolted, overclocked to 1.92Ghz
    5) battsaver: extremely undervolted, not overclocked

    6) Unlock 184Mhz
    7) Lock 184Mhz
    8) View current settings

    Please type 1, 2, 3, 4, 5, 6, 7, or 8:
    speedtweak.sh and SetCPU
    The risk of running setcpu is that it can inadvertently override the min and the max that were set by the speedtweak script. (oh it can also override the governor setting but that's not as bad). Other than that it's pretty harmless - it can't mess with the voltage settings. So if you're going to use SetCPU, keep this in mind. One way to make this work is to use SetCPU to configure governor and min/max, and use speedtweak.sh to configure voltage settings. Or just don't use SetCPU. :)

    FEATURES
    1. Linux Kernel v2.6.35.13. This is many revisions newer than the stock tbolt linux kernel. Majority of kernel code such as memory management, file systems, network, kernel base, etc were mostly completely re-written and are either identical or very similar to latest linux kernel (2.6.39).
    2. speedtweak.sh script to adjust clock frequencies and voltages.
    3. Completely reworked on-demand governor (backported from linux-2.6.39-rc2) for better performance and power efficiency.
    4. Heavily modified/optimized smartass code (based on erasmux's latest git).
    5. InteractiveX and ondemandX governors! Added my own suspend code to interactive and ondemand code to make the phone lock at low clock speed when screen is off. No need for sleep setcpu profile anymore.
    6. For 1.92Ghz builds, interactiveX and smartass governors were modified to minimize unnecessary spikes above 1.8Ghz to keep phone stable.
    7. My kernel tweaks directly applied to kernel and ramdisk via code changes. ie. vm, minfree, etc. No more sysctl and init.d shenanigans! :)
    8. No EXT2, TUN, FUSE, YAFFS/2, etc. Stripped down and lean!
    9. backported 2.6.35 wifi driver which includes low power mode! (idle wifi consumes 50% of power than stock wifi driver). Sense only.
    10. low # (5-10) of cpufreq slots for simple management and less governer transitions.
    11. Undervolted *drastically* for longer battery life.
    12. SWAP and EXT4 enabled.
    13. Increased readahead buffer.
    14. init.d enabled in ramdisk
    15. filesystem speedup in ramdisk
    .. a few other small optimizations

    BATTERY SAVING TIPS
    1) Install one of my kernels, 2) Stay on WIFI as long as possible (ie. avoid 3g/4g as much as possible).

    CHANGELOGS (SENSE)
    v0.1 - initial beta release (testers are welcome!)
    v0.2 - fixed quadrant/linpack scores! (apparently my own overclocking code was kinda lame - borrowed code from richardtrip for now - more changes in the future).
    v0.3 - added MD back in (needed for a2sd), undervolted the crap out of it especially lowest frequency which is where your phone spends most of its time, added /tmp tmpfs support, disabled install-recovery so init.d scripts don't run twice.
    v0.4 - removed YAFFS/2 (shaved off 2Kbytes), added 460800 clock speed, removed powersave governor.
    v0.5 - increased readahead buffer to 1024KB (should improve I/O, especially for sdcard), created lame and 1.92Ghz versions.
    v0.6 - Reworked on-demand governor, backported from linux-2.6.39-rc2, which includes massive amount of improvements and fixes.
    v0.7 - Added 122880 at 550 VDD for extended battery life. Went back to my own overclock code (for the most part) without losing speed.
    v0.71 - fixed a bug preventing the 1.92 version from booting. Cleaned up some overclock code and adjusted VDD a bit on some of the clock speeds. Changed file names which make better sense now.
    v0.72 (extreme version only) - got rid of 123Mhz. good riddance! Undervolted some more.
    v0.72 (1.92) - fudged around the VDD to stabilize it for difficult phones.
    v0.8 - Implemented smartass governor (based on erasmux's latest, optimized code for my kernel), reworked conservative governor (backported from latest linux source), added 1.79Ghz slot for 1.92 version, removed EXT4 until I have a reliable way to convert filesystems, brought back LOGGER until i'm done debugging stuff, more VDD tweaks, and filesystem speedups in ramdisk.
    v0.85 - reworked overclock code, tweaked VDD some more to stabilize. added audio & battery tweaks from adrynalyne per popular requests
    v0.9 (4/13/11) - removed profiling for extra speed, reworked slab allocator (backported from 2.6.39-rc2), backported 2.6.35 wifi driver (low power mode!), added battsaver version, optimized the heck out of smartass for power efficiency, disabled a couple of debug stuff for smaller kernel, removed performance governor.
    v0.92 (4/14/11) - fixed smartass performance (should be close to ondemand now), changed default i/o scheduler to noop and removed other i/o schedulers (even leaner!)
    v1.0 (4/15/11) - introducing interactiveX governor (interactive + my own suspend code), heavily optimized smartass code (again), undervolted 1.92X a little more at the top end, removed conservative governor, made interactiveX default, went back to deadline i/o scheduler (was causing issues with 1.92 overclock).
    v1.1 (4/18/11) - ondemandX governor (ondemand + my own suspend code to keep phone under 369Mhz when screen is off), modified interactiveX and smartass governors to prevent unnecessary spikes over 1.8Ghz to stabilize my 1.92 builds, extreme/1.92X/battsaver now all share the same VDDs at and below 1024Mhz, OC/UV code re-written again to smooth out transitions and reduce random reboots, and added one more slot to 1.92 builds.
    v1.11 (4/19/11) - fixed smartass to suspend properly (ONLY NEED TO UPDATE IF YOU'RE USING SMARTASS).
    v1.2.3 (4/27/11) - fixed 1Ghz speed, removed more unnecessary components for leaner kernel, GPU+ patch from CM.
    v2.0.0 (5/5/11) - brand new kernel base (2.6.35) - mostly new code. Extreme,battsaver, and 1.92X have an extra slot at 184Mhz/650VDD for better battery life.
    v2.0.1 (5/5/11) - extreme, 1.92X and battsaver only. Fixed lowest clock undervolting.
    v2.1.0 (5/6/11) - 184Mhz battery draining fixed, flashlight brightness fixed, EXT4 enabled
    v2.1.1 (5/8/11) - 184Mhz slot disabled by default (use the enable_lowslot.zip to re-enable it), filesystem speedup in ramdisk, full kernel version names.
    v2.2.0 (5/8/11) - revamped governors to possibly improve battery life while on 3g/4g (fingers crossed), brought back readahead buffer tweak from my mecha kernels.
    v2.4 (5/10/11) - combined all my kernel flavors into one, speed/voltage can be controlled by speedtweak.sh script, added vdd_levels support (code from snq- via adrenalyn's git), kernel upgraded to 2.6.35.13.
    v2.4.1 (5/11/11) - enhanced speedtweak.sh to include governors and show current mode. EXT4 mounting is now enabled for EXT3 partitions. Temporarily added a 246Mhz version until I get in touch with setcpu folks.
    v2.4.2 (5/11/11) - fixed 184Mhz (sorry about that)
    v2.4.3 (5/11/11) - fixed speedtweak settings not sticking at reboot (sorry about that!!)
    v2.4.4 (5/12/11) - made a tiny change to speedtweak script to require you to hit enter before the screen loops back. Purely aesthetics - optional upgrade.
    v2.4.6 (5/12/11) - reverted to EXT3, EXT4 was killing quandrant scores. Will bring back EXT4 after more testing.
    v2.5 (5/14/11) - reworked interactiveX for better performance and power efficiency, removed 184Mhz from lean version, created a separate 184Mhz version, enhanced speedtweak script (added time-in-state), enhanced filesystem mount options for speed.
    v2.5.1 (5/16/11) - reverted interactiveX wake speed, added a setcpu friendly option to speedtweak.sh.
    v2.6.0 (6/5/11) - in-call recording added by default, overclock code reworked, interactive/smartass governor tweaked, speedtweak.sh script enhanced.

    DIRECTIONS
    Uh.... flash the zip in clockworkmod. No need to wipe anything.

    GOVERNORS
    First, my take on the governors that are out there: http://forum.xda-developers.com/showpost.php?p=13020648&postcount=617
    I offer three governors: interactiveX, ondemandX, and smartass. What are they?
    • interactiveX - it's the interactive governor from CM, but I added suspend/wake logic so when the phone screen is off it runs at 246Mhz. Also, I modified its code some more to minimize unnecessary cpu spikes above 1.8Ghz if you happen to be running one of my 1.92 kernels. Most tbolts are unstable above 1.8Ghz, and it's the quick jump above 1.8Ghz that usually locks up the phone. It will hit 1.92Ghz only when it makes sense (ie. sustained high load). This is my favorite governor - perfect combination of speed and power efficiency.
    • ondemandX - ondemand governor code from latest linux source *plus* the suspend/wake logic described above, except it has the ability to ramp to 369Mhz while screen is off. No additional code was added for stabilizing above 1.8Ghz.
    • smartass - smartass code from erasmux, but I wasn't happy with its performance so I tuned it for quicker ramp up in speed. It has the same suspend/wake logic as ondemandX, and the same >1.8Ghz stabilizing mod as interactiveX.

    FAQ
    1) Why 1.41Ghz? - my kernel's 1.41 runs very close to stock voltage at 1Ghz, and with the other frequencies undervolted you should realize longer battery life. If you go any higher, you're going to experience poor battery life since you need to use more juice to support higher frequency. Plus most of you probably can't tell the difference between 1.4 and 1.8. ;)
    2) Why release so often? - I try to minimize # of changes to at most 2-3 per release so we can easily pinpoint any benefits or harm my code changes or tweaks made.
    3) What is enable_swap.zip and why do i need it? - Flashing the zip will create a 200MB swap file (at next boot) and activate the swapfile on every boot. Completely optional. Read more about it here.

    bitbucket: https://bitbucket.org/imoseyon/leankernel-tbolt-aosp-vivo, https://bitbucket.org/imoseyon/leankernel-tbolt-sense-vivo

    SDtGWW2
    xKZcePL


    Donate to your favorite charity, or donate to me.
    3
    Would it be possible for someone like me make the governor default to smartass without the need of setcpu?

    Yep. Impossible to type the command on the phone so I'll post instructions later today. I'll also make three zip files that you guys can flash to choose your own default governor.

    sent from my phone running leanKernel + Tesla coil
    2
    why do you guys always assume the worst? maybe the guy just wants to run some das bamf or something, y'know, for the memories. lololol
    2
    So far so good, am finally able to run at 1.92ghz! Lol

    Edit:
    I got a reboot when I tried to do a quadrant at 1.92 on 1.92X kernel with the on demand governor, it fine with smartass and interactive though. Seems like 1.79 is my sweet spot my scores don't seem to go up with 1.92
    Sent from my ADR6400L using Tapatalk

    You should be able to keep the max at 1.92 as long as you use my interactiveX or smartass. Those two governors will minimize unnecessary ramp spikes above 1.8Ghz. It will only allow you to go above 1.8Ghz when you sustain load above 95% and a few other factors.
    2
    v0.5 is on OP.

    v0.5
    - globally increased max readahead buffer to 1024KB (should improve I/O, especially for sdcard)
    - created lame and 1.92Ghz versions.

    THREE VERSIONS
    1) normal super-undervolted version - 1.41Ghz
    2) lame version (for those of you with devices that are less tolerant to undervolting) - 1.41Ghz
    3) 1.92Ghz version, super-undervolted all clock speeds except 1.92.

    Go forth my guinea pigs! :D
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone