[Desire Android Development] tristan202:
This is my personal kernel, that I decided to release now. It is extremely lean to minimize memory footprint and optimize perfomance. It is built from HTC official GB sources, with some of bananacakes, siberes, snq-s and my own patches. I intend to keep it at 2.6.35.10, as I see more problems than advantages in upstreaming to newer revisions.

Features:

-Hybrid adaptive voltage scaling (HAVS)

-V(R) i/o scheduler

-TinyRCU

-Overclock up to 1190

-Undervolt

-Ondemand, Virtuous and SmartassV2 governors (I use Virtuous for wake and Ondemand for sleep)

-AXI

-Lowered WiFi voltage

-EXT4 support

-snq-'s Autobrightnessmod (Enable all 10 levels)

-sibere's Battfix

-USB fast charge

-Optional 2 way call recording

-Hardcoded SD Speed Patch to 2048. No need for init script anymore

-Hardcoded highly tweaked Lowmemkiller (3584,4096,8192,20992,23040,25088). Throw away Autokiller and/or init scripts.

To make it more lean, I have disabled EXT2 support. SWAP isn't supported either, as I find it completely useless.

I have added CIFS and TUN as modules. To install, download and extract the file and push it to /system/lib/modules like so:

adb remount
adb push cifs.ko /system/lib/modules/cifs.ko
adb push tun.ko /system/lib/modules/tun.ko

And add the following line to your modules init script:

insmod /system/lib/modules/cifs.ko
insmod /system/lib/modules/tun.ko

The kernel comes in 2 flavors. BFS and CFS. Differences between them are here:

BFS - Brain F**k Scheduler

The scheduler essentially handles CPU resource allocation. It controls how the CPU ramps up in frequency and down again when not needed. The BFS version is generally very snappy (possibly more so than CFS) but is an older scheduler. It is designed to minimise latency on low spec'd machines (desktops generally)

Further details here:

http://en.wikipedia.org/wiki/Brain_****_Scheduler

CFS - Completely Fair Scheduler

This particular scheduler is newer than BFS. It is designed to make the best of High end machines (desktops again). In the early days, CFS seemed much laggier than BFS but now there is not too much in it. I am quite happily running a modern CFS kernel and I don't experience any lag issues.

Further details here:

http://en.wikipedia.org/wiki/Completely_Fair_Scheduler

I am aware that the BFS version throws some errors about 'bad cgroup data' in logcat, I haven't been able to get rid of them. I have disabled everything cgroup related in the kernel, but vm still throws the errors. Don't know why. Doesn't seem to impact performance.

I personally use the BFS version, as I find it somewhat faster than the CFS one. I have absolutely no wake lag, and I get good battery time.

Thanks go out to: snq-, bananacakes, sibere, tobi01001, thalamus, eviollet. If I forgot anyone, pls inform me.

CHANGELOG:

V05:

XZ compression

Fixed Wifi sleep

Tweaked OJ settings for better responsiveness (bananacakes)

Changed ramdisk compression method to gzip.

Rebuilt tun.ko and cifs.ko

v04b:

Fixed WIFI. (My bad. Forgot to adapt install script after including new ramdisk.)

v04:

Added Lowmemkiller tweak to ramdisk (3584,4096,8192,20992,23040,25088) No need for Autokiller or init scripts anymore. Over time I will move more tweaks into the ramdisk to minimize the need for init scripts.

Updated BFS to 0.406

Reverted battery gauge polling to 60 secs.

Added Virtuous governor. Virtuous is a highly tweaked SmartassV2.

Removed Lagfree governor again, as I found OndemandX better.

v03:

Hardcoded SD Speed Tweak to 2048. No need for init script anymore

Made 2-way call recording optional. Check downloads

Reduced battery gauge polling from 60 to 5 secs. (Untested)

A few bits more, can't remember it all.

v02:

Added Lagfree governor. Gives me a wee bit better battery, but sometimes lags when listening to music. Maybe I'll remove it again. Tell me what you think.

Added a minor change from tobi01001 to the lightsensor driver. Details here

Hopefully fixed USB fast charge.

Compiler optimizations

Link to my github: https://github.com/tristan202