[Xperia Play Android Development] wedgess:
LuPuS Kernel

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

[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 :(

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:o 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