[AT&T Samsung Galaxy S II Skyrocket SGH-I727] InstigatorX:
This kernel no longer works with current CM10/AOKP ROMS - PLEASE DO NOT USE

PLEASE READ THIS ENTIRE POST THOROUGHLY BEFORE PROCEEDING...

This is a customized kernel built from SGH-I727 (aka Skyrocket) source code. This ROM has all the fixes from CyanogenMod & Team Chopsticks tree along with some other stuff.

It's very simple to install.

Ensure you've already installed a working ROM

Install Zip from CWM.

Wipe both caches (just to be safe)

Reboot

FSync Control - Courtesy of Ezekeel

Governors

Wheatley Governor - Courtesy of Ezekeel

http://rootzwiki.com/topic/14685-kernel27-jul-glados-v20-for-jb/page__st__90__p__405813#entry405813

Badass (default)

Badass removes all of this "fast peaking" to the max frequency. On a typical system the cpu won't go above 1080Mhz and therefore use less power. To trigger a frequency increase, the system must run a bit @ 1080MHz with high load, then the frequency is bumped to 1350MHz. If that is still not enough the governor gives you full throttle. (this transition should not take longer than 2-5 seconds, depending on the load your system is experiencing).

You can tweak the Phase 2 (1080MHz) and Phase 3 (1350MHz) via sysfs (if you don't know, then just leave it alone).

NOTE: Due to it's nature, this is not a benchmark governor. It is meant as a governor that gives you a smooth experience while saving battery.

InteractiveX

Created by kernel developer "Imoseyon," the InteractiveX governor is based heavily on the Interactive governor, enhanced with tuned timer parameters to better balance battery vs. performance. The InteractiveX governor's defining feature, however, is that it locks the CPU frequency to the user's lowest defined speed when the screen is off.

Lazy

This governor from Ezekeel is basically an ondemand with an additional parameter min_time_state to specify the minimum time CPU stays on a frequency before scaling up/down. 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.

GPU Overclocking

GPU is stock clocked at 3D@320 & 2D@266 (default).

Example: To increase maximum GPU frequency in 3D mode to 320 MHz:

echo 320000000 > /sys/devices/platform/kgsl-3d0.0/kgsl/kgsl-3d0/max_gpuclk

Example: To increase maximum GPU frequency in 2D mode to 266 MHz:

echo 266667000 > /sys/devices/platform/kgsl-2d0.0/kgsl/kgsl-2d0/max_gpuclk

echo 266667000 > /sys/devices/platform/kgsl-2d1.1/kgsl/kgsl-2d1/max_gpuclk

Available frequencies:

3D: 320000000, 300000000, 266667000, 228571000, 200000000, 177778000, 27000000

2D: 266667000, 228571000, 200000000

Kernel-based MPDecision

100% kernel-based multi-core decision! (should cpu1 be online or not?)

This replaces your /system/bin/mpdecision binary which is disabled by the CWM flashable.

Check /sys/kernel/msm_mpdecision/conf/ for the configuration.

startdelay = time until mpdecision starts doing it's magic (70000)

delay = time between checks (500)

pause = if something else plugs in the cpu, fall asleep for 10000

scroff_single_core = if the screen is off, don't plug in cpu1 (1)

nwns_threshold_up = runqueue threshold, if this is reached cpu1 will be hotplugged (35)

nwns_threshold_down = runqueue threshold, if this is reached cpu1 will be unplugged (5)

twts_threshold_up = time threshold, this amount of time must have passed (250)

twts_threshold_down = same as above (250)

enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!

(all times are in ms)

CURRENT

Version 6.3.6 - http://tinyw.in/L1BW <-- JB: CM10 or AOKP 4.1.x

Version 6.3.4 - http://d-h.st/L8K <-- JB: CM10 or AOKP 4.1.x

Version 6.2.1 - http://d-h.st/NWo <-- JB: CM10 or AOKP 4.1.x

Version 6.0.3 - http://d-h.st/hEI <-- ICS: CM9 or AOKP 4.0.4 <- Updated 8/22 - WiFi fixes

Version 5.4.5 - http://d-h.st/ngT <-- ICS: CM9 or AOKP 4.0.4

Governor scripts

NOTE: Not needed for v6.0.2 or v6.2 and beyond

These scripts will set the CPU0 & CPU1 governors correctly. Using a tool like System Tuner only sets CPU0 to the selected governor, but leaves CPU1 running the default. This was the only way I found to ensure both CPUs had the correct governor set. Basically this overwrites your init.qcom.post_boot.sh script with one that sets both CPUs to the same governor.

SmartAssV2 - http://d-h.st/zeQ

Badass - http://d-h.st/2CU

OnDemand - http://d-h.st/GAH

Non-CM9 Camera Fix

http://db.tt/vvMoadEo <-- Thanks endlessevo for this and thanks eliminat for pointing it out!

Battery life problems?

Read this first...http://xdaforums.com/showthread.php?t=1759541

Then go here to grab Better Battery Stats (BBS) ... http://xdaforums.com/showthread.php?t=1179809

Mega thanks to...

Team Chopsticks

Cyanogenmod Team

showp1984

gokhanmoral

faux123

TamCore

Ezekeel

FraciscoFranco

h0tw1r3

...and the other many countless kernel devs that I've Kang'd from