• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[KERNEL][PLAY] LuPuSv9 [CM9 BASED][LINARO][UPDATED-31-12-12]

What would you prefer??

  • 720 recording (lose 18mb RAM)

    Votes: 13 23.2%
  • 480 recording (keep your RAM as it is)

    Votes: 18 32.1%
  • Why not keep both versions, hhhmmmm!!

    Votes: 25 44.6%

  • Total voters
    56
  • Poll closed .
Search This thread

wedgess

Retired Forum Mod / Inactive Recognized Developer
Apr 23, 2012
3,229
14,093
Dublin, Ireland
www.pac-rom.com
LuPuS Kernel
abzNncsi.png



Hello there, I was reading about Governors on a thread
and was curious about these governors that I hadn't seen before and wanted to try them.
So then I came across this great thread by paxChristos and decided I would try compile a kernel with new Governors and io-scheduler.
I've taken out a couple of things while compiling the kernel as well. I have been using it for a good few days now
and thought I should share these Governors to other Xplay users.
I googled for a name and came across LuPuS :highfive: that is why the boot logo is what it is :cool:
Well hope you all enjoy and I will be adding more governors soon when I get time:D
Thanks to all those who have helped me making this, paxChristos for his advice & tutorial.
Lightnindude, FXP and Cyanogenmod for their sources :good:


Disclaimer

Code:
[COLOR="DarkOrchid"]#include[/COLOR] [COLOR="Magenta"]<std_disclaimer.h>[/COLOR]
[COLOR="Blue"]/*
* Your warranty is now void.. LOL I guess you knew it already.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, you getting dumped or you getting fired because your phone 
* bootloops and alarm does not go off. Please do some research if you have any  
* concerns about features included in my kernel before using it! YOU and only 
* YOU are choosing to make these modifications.
*/

[COLOR="Magenta"]#ifdef[/COLOR]
You have a [COLOR="DarkGreen"]question[/COLOR] post it in the [COLOR="DarkRed"]thread[/COLOR],
Instead of [COLOR="DarkGreen"]Pm'ing me[/COLOR], as other users may
experience you [COLOR="DarkRed"]problems[/COLOR]
[COLOR="Magenta"]#endif[/COLOR][/COLOR]


What Works --
Wifi - (flash modules)
Data
Camera
Panorama
Video Recording (720p now works)
Video Playback
Front Camera
Bluetooth
Everything Else that works on FXP & Mjolnir

What doesn't work --
ALS (Disabled)
Anything that doesn't work on FXP & Mjolnir



Included in kernel


[/LIST]

Added Io-schedulers --
  • - Noop
    - Anticipatory
    - Deadline
    - CFQ
    - BFQ
    - SIO

Added Governors --
  • - lagfree
    - brazillianwax
    - smoothass
    - scary
    - savagedzen
    - smartass
    - smartassv2
    - interactivex
    - minmax
    - powersave
    - performance
    - conservative
    - ondemand
    - interactive
    - userspace
    +
    Lulzactive - Thanks to Tegrak
    Based on Interactive and Smartass. When workload is greater than or equal to 60%, the governor scales up
    CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step.
    When screen is off, frequency is locked to global scaling minimum frequency

    Virtuous
    Virtuous is a modded smartassV2 which gives even more battery time then smartassV2:)

    Intellidemand - Thanks to faux123
    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.

    Lazy - Thanks to Ezekeel
    The Idea here is to eliminate any instabilities caused by fast frequency switching by ondemand.
    Lazy governor polls more often than ondemand, but changes frequency only after completing min_time_state
    on a step overriding sampling interval.
    Lazy also has a screenoff_maxfreq parameter which when enabled will cause the governor to always
    select the maximum frequency while the screen is off.


    -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.

    -Lionheart:
    Is a conservative-based governor. The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.

    To 'experience' Lionheart using conservative, try these tweaks:
    sampling_rate:10000 or 20000 or 50000, whichever you feel is safer. (transition latency of the CPU is something below 10ms/10,000uS hence using 10,000 might not be safe).
    up_threshold:60
    down_threshold:30
    freq_step:5
    Lionheart goes well with deadline i/o scheduler. When it comes to smoothness (not considering battery drain), a tuned conservative delivers more as compared to a tuned ondemand.

    BadAss Governor:
    Badass removes all of this "fast peaking" to the max frequency. Badass will also take the gpu load into consideration. If the gpu is moderately busy it will bypass the above check and clock the cpu with 1024Mhz. If the gpu is crushed under load, badass will lift the restrictions to the cpu.

    Superbad -
    A "superbad" super smooth rendition of a highly optimized "smartass" governor!

    Darkside -
    A "slightly more agressive smart" optimized governor!

What else-----

  • -SLQB - (SLAB allocator with Queue)-(both)
    This memory allocator is designed for small number of CPUs system (such as desktop or smart phone devices). This allocator is design to be simple and it is optimized for using order-0 pages as much as possible (order-0 pages are the simplest therefore quickest type of memory in a Linux system to allocate).

    - Added Cleancache
    - Supports ext 2,3
    - Updated zRam
    - Lzo compression/decompression speed has doubled on average.
    - Init.d support
    - Fudgeswap
    - And much more :D
    - O/C and stable upto 2ghz, although I do not recommend O/C to 2ghz for long periods of time, do so at your own risk.


Show your support for the kernel and my work by putting this in your signature, its only a quick one I done up with my limited time :(

xtWNL.png


Code:
http://i.imgur.com/xtWNL.png

Downloads in post 2


Instructions for the CWM Recovery And Aroma File Manager--
--When phone vibrates tap the back key to enter CWM Recovery v6.
--When phone vibrates tap the volume down key to enter Aroma File Manager



I would like to say a big thanks to -
paxChristos - Tutorial / Help
xeozus
NobodyAtAll
Faux123
Erasmus
Leedroid
Jerpelea
KeiranFTW - for his PNG to RLE conversion script
Lightningdude - Sources / Help
FXP - Sources
Cyanogenmod - Souces
DooMLoRD - Everything he's done for XPLay
Supervenom - For the amazing AOKP rom:)
Solomon4400 - For helping me test:) (there where a few dodgy ones before I got it to work:eek: random reboots and stuff :( )
CosmicDan - For the amazing CWM / Aroma File Manager - AND LuPuS MIUI[CM9 BASED]
tempest918 - For the New Logo
amarullz - For Aroma File Manager


Kernel sources
-b ics
https://github.com/garwedgess/LuPuS-CM-iCs
 
Last edited:

wedgess

Retired Forum Mod / Inactive Recognized Developer
Apr 23, 2012
3,229
14,093
Dublin, Ireland
www.pac-rom.com
Changelog


*** Previous changelog was messed up so I'll include everything in here ***


Code:
[B][U]v9[/U][/B] 

- Improved Battery Life alot :)
- Thumbee support
- EXT 2/3 & 4 supported
- Init.d supported
- Init.d scripts added (run at boot)
- SLQB Memory allocator
- ARM7 optimizations
- Brought OC back down to 1.6 max (no need for it above 1.6 unless u want to kill your device)
- Kernel sources completely reworked started from scratch o Sony xx.587 sources
- Tiny RCU
- Updatedd patched and fixed LZO
- lowered vfs cache pressure
- Increased Wifi- Range and added support for channel 14
- 0 % Battery patch - Thanks @ Bazoocaze
- Better memory copy
- Better memory move
- Deep sleep issue fixed
- LMK Optimizations (LowMemoryKiller)
- VDD support (voltage conrol)
- Linaro Optimzations
- Compaction added
- KSM
- CIFS (improved support)
- NTFS
- Updated to newest SIO Io-Scheduler
- Google Snappy Compress & Decompress
- Added Vibrate To Recovery (Notification to enter CWM)
- Wifi module size drasticly reduced
** Possibly missing a few things **


Downloads


If you like my work please consider buying me a beer or something else ;)
by clicking the DONATE ME button, of course it isn't needed but greatly appreciated and keeps me motivated.



So zRam does not work on them, below i've added a zram enabler .zip to flash via CWM[/B]

- If for whatever reason you want to disable Zram after you have flashed the .zip, just go to ect/init.d and delete 00zram


Wifi-modules included - Thanks @ CosmicDan

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
v9-LiNaRo-480p Recording

LuPuS-v9-480.img

MD5 = 3b33c08252a845e7cd8374d112f05e9f

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
v9 LiNaRo-720p Recording

LuPuS-v9-720.img

MD5 = 225f5abdfc30643e9763ff3ad95c17af

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------




People will ask so i'll just post it here---------to check if zRam is enabled go to terminal emulator or similar and type

Code:
free

or alternatively

Code:
cat /proc/swaps


Please Click Thanks :good:
 

Attachments

  • wedgess_NEW_Zram-Enabler.zip
    157.8 KB · Views: 948
  • modules_signed.zip
    343.9 KB · Views: 1,513
Last edited:

CosmicDan

Senior Member
Jun 19, 2009
5,890
7,736
34
Sydney
Google Pixel 3 XL
Xiaomi Poco X3 Pro
Cool thanks for the great work, the Intellidemand governor sounds very interesting.....!

Thanks for sharing your source, I like to strip system down to 240MB to give data some more space.

EDIT: I have shared with you my RAMDisk image for your consideration wedgess, maybe you will like it. It is taken from latest CM9 Ramdisk with the following changes:

- Replaced FreeXperia Recovery with DoomLords' Recovery
- Changed Recovery key to Back (instead of Volume-Down) and added a short vibration (just like DoomKernel)
- Bootlogo unchanged, still original FXP one
- Maybe some other small things, can't remember. Tree-compare it to FXP Ramdisk if you like to make sure.

I would release my own kernel with these changes but we already have two CM9-based kernels now, I don't really want to!
 
Last edited:

wedgess

Retired Forum Mod / Inactive Recognized Developer
Apr 23, 2012
3,229
14,093
Dublin, Ireland
www.pac-rom.com
Cool thanks for the great work, the Intellidemand governor sounds very interesting.....!

Thanks for sharing your source, I like to strip system down to 240MB to give data some more space.

EDIT: I have shared with you my RAMDisk image for your consideration wedgess, maybe you will like it. It is taken from latest CM9 Ramdisk with the following changes:

- Replaced FreeXperia Recovery with DoomLords' Recovery
- Changed Recovery key to Back (instead of Volume-Down) and added a short vibration (just like DoomKernel)
- Bootlogo unchanged, still original FXP one
- Maybe some other small things, can't remember. Tree-compare it to FXP Ramdisk if you like to make sure.

I would release my own kernel with these changes but we already have two CM9-based kernels now, I don't really want to!

Thanks intellidemand is great, its the governor I'm using at the moment. Recovery should already be the BACK button as I edited the ramdisk with my own boot logo and sbin. I used dooms touch recovery before but just wanted something simple :) if people want I could change eventually;)

Sent from my Xperia Play using xda premium
 

CosmicDan

Senior Member
Jun 19, 2009
5,890
7,736
34
Sydney
Google Pixel 3 XL
Xiaomi Poco X3 Pro
Thanks intellidemand is great, its the governor I'm using at the moment. Recovery should already be the BACK button as I edited the ramdisk with my own boot logo and sbin. I used dooms touch recovery before but just wanted something simple :) if people want I could change eventually;)

Sent from my Xperia Play using xda premium

Did you add vibrate too? I always miss the trigger on FXP kernel lol. I don't like the full Touch Recovery either because you can't see long filenames properly, but the one from his ICS Beta kernel is just like CWM Recovery.. but it does have the touch-enabled buttons down the bottom, or is that the same one you mean...? I understand it can be annoying bumping the screen on that and making a mistake selection, but DoomLord Recovery has some useful features... power-off is a good example, I hate having to pull the battery out to power off (seems dangerous).

Well yeah let the crowd decide, nothing is stopping me from repacking it myself for my use of course :p Cheers.
 

wedgess

Retired Forum Mod / Inactive Recognized Developer
Apr 23, 2012
3,229
14,093
Dublin, Ireland
www.pac-rom.com
Did you add vibrate too? I always miss the trigger on FXP kernel lol. I don't like the full Touch Recovery either because you can't see long filenames properly, but the one from his ICS Beta kernel is just like CWM Recovery.. but it does have the touch-enabled buttons down the bottom, or is that the same one you mean...? I understand it can be annoying bumping the screen on that and making a mistake selection, but DoomLord Recovery has some useful features... power-off is a good example, I hate having to pull the battery out to power off (seems dangerous).

Well yeah let the crowd decide, nothing is stopping me from repacking it myself for my use of course :p Cheers.

Haha ye that's the one I mean just personally prefer the original CWM, I agree with the power off but I just reboot system now and don't battery pull :p I'm open to suggestions though ;) maybe I could make a version for people who prefer it that way??

Sent from my Xperia Play using xda premium
 

CosmicDan

Senior Member
Jun 19, 2009
5,890
7,736
34
Sydney
Google Pixel 3 XL
Xiaomi Poco X3 Pro
Haha ye that's the one I mean just personally prefer the original CWM, I agree with the power off but I just reboot system now and don't battery pull :p I'm open to suggestions though ;) maybe I could make a version for people who prefer it that way??

Sent from my Xperia Play using xda premium

Here's an idea. Keep Vol-Down as FreeXperia Recovery (as it is originally), Back key as DoomLord Recovery, and Menu key as Aroma FileManager? That would be KICKASS. Looking at bootrec and bootrec-device scripts in sbin, seems easy enough to do! If you like that and would like a hand, send me a PM! Or we can keep bumping the thread discussing it :laugh: (Why not, valid dev. discussion that everyone can learn from)
 

[email protected]

Senior Member
Feb 19, 2012
168
39
Treviso
Here's an idea. Keep Vol-Down as FreeXperia Recovery (as it is originally), Back key as DoomLord Recovery, and Menu key as Aroma FileManager? That would be KICKASS. Looking at bootrec and bootrec-device scripts in sbin, seems easy enough to do! If you like that and would like a hand, send me a PM! Or we can keep bumping the thread discussing it :laugh: (Why not, valid dev. discussion that everyone can learn from)

this would be great, two days ago i was just looking on how to insert the doomlord recovery in the FXP kernel XD
 

Gh61

Senior Member
Dec 12, 2011
82
8
Good work

Good work man.
:good:
I was reading your post and I thing governor: Lulzactive is not very effective.
I'm not phone deveolper, I'm only normal programmer.
So if I am wrong please explain.
I think it will make cpu freq very jumping, in every interval.

x=>60 - higher state
x<60 - lower state

so in average load it will do something like: ^v^v^v^v (higher->lower->higher->lower...)

what about:
x>60 - higher state
x<60&&x>40 - stay
x<40 - lower state
 

wedgess

Retired Forum Mod / Inactive Recognized Developer
Apr 23, 2012
3,229
14,093
Dublin, Ireland
www.pac-rom.com
Good work man.
:good:
I was reading your post and I thing governor: Lulzactive is not very effective.
I'm not phone deveolper, I'm only normal programmer.
So if I am wrong please explain.
I think it will make cpu freq very jumping, in every interval.

x=>60 - higher state
x<60 - lower state

so in average load it will do something like: ^v^v^v^v (higher->lower->higher->lower...)

what about:
x>60 - higher state
x<60&&x>40 - stay
x<40 - lower state


Old Version: When workload is greater than or equal to 60%, the governor scales up CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step. When screen is off, frequency is locked to global scaling minimum frequency. THIS IS THE VERSION IT IS NOW


New Version: Three more user configurable parameters: inc_cpu_load, pump_up_step, pump_down_step. Unlike older version, this one gives more control for the user. We can set the threshold at which governor decides to scale up/down. We can also set number of frequency steps to be skipped while polling up and down.
When workload greater than or equal to inc_cpu_load, governor scales CPU pump_up_step steps up. When workload is less than inc_cpu_load, governor scales CPU down pump_down_step steps down.
Example:
Consider
inc_cpu_load=70
pump_up_step=2
pump_down_step=1
If current frequency=200, Every up_sampling_time Us if cpu load >= 70%, cpu is scaled up 2 steps - to 800.
If current frequency =1200, Every down_sampling_time Us if cpu load < 70%, cpu is scaled down 1 step - to 1000.
I WILL CHANGE TO THIS ONE IN A COUPLE OF DAYS

I will leave the old version in there and put the newer one as v2
Click thanks if you like this :)
 
Last edited:

CosmicDan

Senior Member
Jun 19, 2009
5,890
7,736
34
Sydney
Google Pixel 3 XL
Xiaomi Poco X3 Pro
Old Version: When workload is greater than or equal to 60%, the governor scales up CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step. When screen is off, frequency is locked to global scaling minimum frequency. THIS IS THE VERSION IT IS NOW


New Version: Three more user configurable parameters: inc_cpu_load, pump_up_step, pump_down_step. Unlike older version, this one gives more control for the user. We can set the threshold at which governor decides to scale up/down. We can also set number of frequency steps to be skipped while polling up and down.
When workload greater than or equal to inc_cpu_load, governor scales CPU pump_up_step steps up. When workload is less than inc_cpu_load, governor scales CPU down pump_down_step steps down.
Example:
Consider
inc_cpu_load=70
pump_up_step=2
pump_down_step=1
If current frequency=200, Every up_sampling_time Us if cpu load >= 70%, cpu is scaled up 2 steps - to 800.
If current frequency =1200, Every down_sampling_time Us if cpu load < 70%, cpu is scaled down 1 step - to 1000.
I WILL CHANGE TO THIS ONE IN A COUPLE OF DAYS

I will leave the old version in there and put the newer one as v2
Click thanks if you like this :)

Sounds good, yeah the whole stay-at-current-if-between-60-and-40-percent is not really the nature of lulzactive, it's designed to have very responsive ramping. If you want a "stable" governor give the ondemand a go (or one of the ones it's based on, such as interactive or interactivex). Lulzactive is like a mix between interactive and smartass. Reference: http://forum.xda-developers.com/showthread.php?t=1369817
 
  • Like
Reactions: Gh61

wedgess

Retired Forum Mod / Inactive Recognized Developer
Apr 23, 2012
3,229
14,093
Dublin, Ireland
www.pac-rom.com
At the moment I'm having problems with lulzactive2 but if I can't fix it I still have other ones which I've added and am currently testing some of them. More to come.... :)

Sent from my Xperia Play using xda premium
 

CosmicDan

Senior Member
Jun 19, 2009
5,890
7,736
34
Sydney
Google Pixel 3 XL
Xiaomi Poco X3 Pro
At the moment I'm having problems with lulzactive2 but if I can't fix it I still have other ones which I've added and am currently testing some of them. More to come.... :)

Sent from my Xperia Play using xda premium

...such as bfq scheduler and all three FXP-Recovery/DoomLord-Recovery/AromaFM ;D

EDIT: It should be noted that this kernel is based on the official CyanogenMod 9 RC2 release for the Xperia Play, not FXP-CM9. I don't know how different it will behave but there are a lot of sourcecode changes compared to the FXP-CM9.
 
Last edited:

idiotzach15

Senior Member
Apr 7, 2012
449
83
Laurel, MD
OnePlus 8T
...such as bfq scheduler and all three FXP-Recovery/DoomLord-Recovery/AromaFM ;D

EDIT: It should be noted that this kernel is based on the official CyanogenMod 9 RC2 release for the Xperia Play, not FXP-CM9. I don't know how different it will behave but there are a lot of sourcecode changes compared to the FXP-CM9.

Fxp is CyanogenMod for xperia.

Sent from my R800x using xda app-developers app
 

CosmicDan

Senior Member
Jun 19, 2009
5,890
7,736
34
Sydney
Google Pixel 3 XL
Xiaomi Poco X3 Pro
Fxp is CyanogenMod for xperia.

Sent from my R800x using xda app-developers app

Yes I know that, but FXP is an unsupported and unofficial fork. This kernel however, based on official cm9 for zeus, has been modified for inclusion into the official CM9 device tree. There are a LOT of source-level differences, for example the official CM9 for zeus (including this kernel) has no bfq scheduler and revised netfilter code (which wifi tethering relies on, it needs to be tested). And many other things. The reason I'm stating this is because the tutorial we have for building a zeus kernel uses the original fxp-cm9 kernel as a base.

It was info for those who want to use/examine the Lupus source for whatever reason. I for one can't build the kernel from source, I get ipt_ecm.c errors (trying to sort it out with wedgess help, seems to be case-insensitive source and/or mismatched netfilter code from different kernels). Either wedgess has committed an untested source change or my toolchain (from Doomlord) or Linux environment is borked.
 
Last edited:

lightningdude

Senior Member
Oct 9, 2010
877
306
Seems that mounting USB Mass Storage in Recovery is broken with this kernel, or is it just me? Can anybody else test it?

I know for a fact that DooMLoRD's recovery doesn't call the UMS properly with CyanogenMod. Last time I looked into it, I read that it's something to do with whatever rom you're running, in conjunction with the kernel, itself. In other words, DooMLoRD makes his stuff to work with stock, and because of that, there will be differences when using his stuff with CyanogenMod.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 71
    LuPuS Kernel
    abzNncsi.png



    Hello there, I was reading about Governors on a thread
    and was curious about these governors that I hadn't seen before and wanted to try them.
    So then I came across this great thread by paxChristos and decided I would try compile a kernel with new Governors and io-scheduler.
    I've taken out a couple of things while compiling the kernel as well. I have been using it for a good few days now
    and thought I should share these Governors to other Xplay users.
    I googled for a name and came across LuPuS :highfive: that is why the boot logo is what it is :cool:
    Well hope you all enjoy and I will be adding more governors soon when I get time:D
    Thanks to all those who have helped me making this, paxChristos for his advice & tutorial.
    Lightnindude, FXP and Cyanogenmod for their sources :good:


    Disclaimer

    Code:
    [COLOR="DarkOrchid"]#include[/COLOR] [COLOR="Magenta"]<std_disclaimer.h>[/COLOR]
    [COLOR="Blue"]/*
    * Your warranty is now void.. LOL I guess you knew it already.
    *
    * I am not responsible for bricked devices, dead SD cards,
    * thermonuclear war, you getting dumped or you getting fired because your phone 
    * bootloops and alarm does not go off. Please do some research if you have any  
    * concerns about features included in my kernel before using it! YOU and only 
    * YOU are choosing to make these modifications.
    */
    
    [COLOR="Magenta"]#ifdef[/COLOR]
    You have a [COLOR="DarkGreen"]question[/COLOR] post it in the [COLOR="DarkRed"]thread[/COLOR],
    Instead of [COLOR="DarkGreen"]Pm'ing me[/COLOR], as other users may
    experience you [COLOR="DarkRed"]problems[/COLOR]
    [COLOR="Magenta"]#endif[/COLOR][/COLOR]


    What Works --
    Wifi - (flash modules)
    Data
    Camera
    Panorama
    Video Recording (720p now works)
    Video Playback
    Front Camera
    Bluetooth
    Everything Else that works on FXP & Mjolnir

    What doesn't work --
    ALS (Disabled)
    Anything that doesn't work on FXP & Mjolnir



    Included in kernel


    [/LIST]

    Added Io-schedulers --
    • - Noop
      - Anticipatory
      - Deadline
      - CFQ
      - BFQ
      - SIO

    Added Governors --
    • - lagfree
      - brazillianwax
      - smoothass
      - scary
      - savagedzen
      - smartass
      - smartassv2
      - interactivex
      - minmax
      - powersave
      - performance
      - conservative
      - ondemand
      - interactive
      - userspace
      +
      Lulzactive - Thanks to Tegrak
      Based on Interactive and Smartass. When workload is greater than or equal to 60%, the governor scales up
      CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step.
      When screen is off, frequency is locked to global scaling minimum frequency

      Virtuous
      Virtuous is a modded smartassV2 which gives even more battery time then smartassV2:)

      Intellidemand - Thanks to faux123
      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.

      Lazy - Thanks to Ezekeel
      The Idea here is to eliminate any instabilities caused by fast frequency switching by ondemand.
      Lazy governor polls more often than ondemand, but changes frequency only after completing min_time_state
      on a step overriding sampling interval.
      Lazy also has a screenoff_maxfreq parameter which when enabled will cause the governor to always
      select the maximum frequency while the screen is off.


      -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.

      -Lionheart:
      Is a conservative-based governor. The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.

      To 'experience' Lionheart using conservative, try these tweaks:
      sampling_rate:10000 or 20000 or 50000, whichever you feel is safer. (transition latency of the CPU is something below 10ms/10,000uS hence using 10,000 might not be safe).
      up_threshold:60
      down_threshold:30
      freq_step:5
      Lionheart goes well with deadline i/o scheduler. When it comes to smoothness (not considering battery drain), a tuned conservative delivers more as compared to a tuned ondemand.

      BadAss Governor:
      Badass removes all of this "fast peaking" to the max frequency. Badass will also take the gpu load into consideration. If the gpu is moderately busy it will bypass the above check and clock the cpu with 1024Mhz. If the gpu is crushed under load, badass will lift the restrictions to the cpu.

      Superbad -
      A "superbad" super smooth rendition of a highly optimized "smartass" governor!

      Darkside -
      A "slightly more agressive smart" optimized governor!

    What else-----

    • -SLQB - (SLAB allocator with Queue)-(both)
      This memory allocator is designed for small number of CPUs system (such as desktop or smart phone devices). This allocator is design to be simple and it is optimized for using order-0 pages as much as possible (order-0 pages are the simplest therefore quickest type of memory in a Linux system to allocate).

      - Added Cleancache
      - Supports ext 2,3
      - Updated zRam
      - Lzo compression/decompression speed has doubled on average.
      - Init.d support
      - Fudgeswap
      - And much more :D
      - O/C and stable upto 2ghz, although I do not recommend O/C to 2ghz for long periods of time, do so at your own risk.


    Show your support for the kernel and my work by putting this in your signature, its only a quick one I done up with my limited time :(

    xtWNL.png


    Code:
    http://i.imgur.com/xtWNL.png

    Downloads in post 2


    Instructions for the CWM Recovery And Aroma File Manager--
    --When phone vibrates tap the back key to enter CWM Recovery v6.
    --When phone vibrates tap the volume down key to enter Aroma File Manager



    I would like to say a big thanks to -
    paxChristos - Tutorial / Help
    xeozus
    NobodyAtAll
    Faux123
    Erasmus
    Leedroid
    Jerpelea
    KeiranFTW - for his PNG to RLE conversion script
    Lightningdude - Sources / Help
    FXP - Sources
    Cyanogenmod - Souces
    DooMLoRD - Everything he's done for XPLay
    Supervenom - For the amazing AOKP rom:)
    Solomon4400 - For helping me test:) (there where a few dodgy ones before I got it to work:eek: random reboots and stuff :( )
    CosmicDan - For the amazing CWM / Aroma File Manager - AND LuPuS MIUI[CM9 BASED]
    tempest918 - For the New Logo
    amarullz - For Aroma File Manager


    Kernel sources
    -b ics
    https://github.com/garwedgess/LuPuS-CM-iCs
    39
    Changelog


    *** Previous changelog was messed up so I'll include everything in here ***


    Code:
    [B][U]v9[/U][/B] 
    
    - Improved Battery Life alot :)
    - Thumbee support
    - EXT 2/3 & 4 supported
    - Init.d supported
    - Init.d scripts added (run at boot)
    - SLQB Memory allocator
    - ARM7 optimizations
    - Brought OC back down to 1.6 max (no need for it above 1.6 unless u want to kill your device)
    - Kernel sources completely reworked started from scratch o Sony xx.587 sources
    - Tiny RCU
    - Updatedd patched and fixed LZO
    - lowered vfs cache pressure
    - Increased Wifi- Range and added support for channel 14
    - 0 % Battery patch - Thanks @ Bazoocaze
    - Better memory copy
    - Better memory move
    - Deep sleep issue fixed
    - LMK Optimizations (LowMemoryKiller)
    - VDD support (voltage conrol)
    - Linaro Optimzations
    - Compaction added
    - KSM
    - CIFS (improved support)
    - NTFS
    - Updated to newest SIO Io-Scheduler
    - Google Snappy Compress & Decompress
    - Added Vibrate To Recovery (Notification to enter CWM)
    - Wifi module size drasticly reduced
    ** Possibly missing a few things **


    Downloads


    If you like my work please consider buying me a beer or something else ;)
    by clicking the DONATE ME button, of course it isn't needed but greatly appreciated and keeps me motivated.



    So zRam does not work on them, below i've added a zram enabler .zip to flash via CWM[/B]

    - If for whatever reason you want to disable Zram after you have flashed the .zip, just go to ect/init.d and delete 00zram


    Wifi-modules included - Thanks @ CosmicDan

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    v9-LiNaRo-480p Recording

    LuPuS-v9-480.img

    MD5 = 3b33c08252a845e7cd8374d112f05e9f

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    v9 LiNaRo-720p Recording

    LuPuS-v9-720.img

    MD5 = 225f5abdfc30643e9763ff3ad95c17af

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------




    People will ask so i'll just post it here---------to check if zRam is enabled go to terminal emulator or similar and type

    Code:
    free

    or alternatively

    Code:
    cat /proc/swaps


    Please Click Thanks :good:
    8
    Great, I'll try it! :good:

    Cool make sure you download and flash the the wifi modules in CWM!!:D
    5
    Update coming today with 720p recording working.:)

    Sent from my Xperia Play
    5
    Updated OP
    Taken out 720p-untill its fixed so that there is no bootloops and you get your 18mb RAM back :)
    Also left up the one with 720p for people not having problems ;)