[HTC Sensation] show-p1984:
Changelog moved to bricked.dehttp://bricked.de/index.php?action=changelogs&device=pyramid&type=sense

What does PREEMPTIBLE mean?

Preemptive built kernels are favoring the userinterface over everything else! That means: An app in the background is using 50% of you CPU to spy on you. You want to move fast through the user interface/watch a video, whatever. The kernel will now favor your action over the app in the background. That's all the magic that's happening ;)
​

What is badass?

Well good question. With ICS I decided to rework my gb badass which never got released because it was always pushed aside. To break down what it is:

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

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 1188Mhz. If the gpu is crushed under load, badass will lift the restrictions to the cpu.

Please remember: 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, lots of it ;)
​

What is msm_thermal?

Kernel based 3-phase thermal control!

This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_backup.

Check /sys/kernel/msm_thermal/conf/ for the thermal configuration :)

allowed_max_high = highest threshold (phase 3)

allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)

allowed_max_freq = max frequency if throttled (limit)

[...]mid[...] = same as above, just for phase 2

[...]low[...] = Lowest threshold (phase 1)

check_interval_ms = how often shall we check? (sampling rate)

Default: 1000ms (=1sec)

If you want to see msm_thermal doing it's job:

adb shell
cat /proc/kmsg | grep 'msm_thermal'

What is msm_mpdecision?

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

This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_backup.

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!

idle_freq = a value against that will be checked if a core +/- is requested. (486000)

If cpu0 is below that value and a core up of cpu1 is requested, nothing will happen.

If cpu1 is above that value and a core down of cpu1 is requested, nothing will happen. (otherwise it would now put down cpu1 even though it is still working)

(all times are in ms)

If you want to see the mpdecision magic happening:

adb shell
cat /proc/kmsg | grep 'MPDEC'

Frequency/Voltage Table:

192000: 800000

310500: 825000

384000: 825000

432000: 850000

486000: 850000

540000: 875000

594000: 875000

648000: 900000

702000: 900000

756000: 925000

810000: 950000

864000: 975000

918000: 975000

972000: 1000000

1026000: 1000000

1080000: 1025000

1134000: 1025000

1188000: 1050000

1242000: 1075000

1296000: 1100000

1350000: 1125000

1404000: 1150000

1458000: 1150000

1512000: 1175000

1566000: 1175000

1620000: 1200000

1674000: 1225000

1728000: 1250000

1782000: 1275000

1836000: 1300000

1890000: 1325000

1944000: 1350000
​

Available CPU governors:

badass <-- !recommended!

lazy

interactive

lagfree

conservative

userspace

powersave

ondemand

performance​

Stock Kernel for ICS. Unsecured boot.img.