KillX Kernel
(version 3.8.6)
(version 3.8.6)
/!\ DISCLAIMER: I AM NOT RESPONSIBLE IF YOU BRICK / RUIN YOUR PHONE IN ANY WAY /!\
This allows one to force AC charging for any charger that is detected as USB (e.g. many car chargers) and pull the full current the charger can support.
It also provides additional security when connecting to public charging stations because by forcing AC charging, USB/adb data transfers are disabled, protecting your data.
Fast charge can be toggled by issuing:
echo 1 > /sys/kernel/fast_charge/force_fast_charge
and off:
echo 0 > /sys/kernel/fast_charge/force_fast_charge
Input/output (I/O) scheduling is a term used to describe the method computer operating systems decide the order that block I/O operations will be submitted to storage volumes.
I/O Scheduling is sometimes called 'disk scheduling'. I/O schedulers can have many purposes depending on the goal of the I/O scheduler, some common goals are:
+ To minimize time wasted by hard disk seeks.
+ To prioritize a certain processes' I/O requests.
+ To give a share of the disk bandwidth to each running process.
+ To guarantee that certain requests will be issued before a particular deadline.
Kernel based 3-phase thermal control.This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_bkp
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
Kernel based multi core decision
This replaces your /system/bin/mpdecision binary which is ignored in init.rc and renamed by the installer to mpdecision_bkp
+ cpu auto-hotplug/unplug based on system load for MSM multicore cpus [should cpu(x) be online or not?]
+ single core while screen is off
+ extensive sysfs tuneables
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.Code:startdelay = time until mpdecision starts doing it's magic (20000) delay = time between checks (70) pause = if something else plugs in the cpu, fall asleep for 3000ms (3 secs) scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1) enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core! min_cpus = min cpus to be online, cannot be < 1. Default: 1 max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4 idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
etc...Code:One cpu is online. (1 - 1) * 2 = 0 ergo: nwns_threshold_0 = cpu1 will be hotplugged at this value ((1 - 1) * 2) + 1 = 1 nwns_threshold_1 = cpu0 will be unplugged at this value Since we can't unplug cpu0 this is '0'. Two cpus are online. (2 - 1) * 2 = 2 ergo: nwns_threshold_2 = cpu2 will be hotplugged at this value ((2 - 1) * 2) + 1 = 3 nwns_threshold_3 = cpu1 will be unplugged at this value
The default values are:
NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
Where the position and function of the number equals the result of the above explained formula
Code:
[FONT=Arial Black][SIZE=2]
* /system rw
* support init.d
* adb root
* swap on
* USB Force Fast Charging
* [B]Energy Efficiency[/B]
* XZ compressed kernel
* Using /dev/frandom
* allow WiFi networks with low signal to be seen !
* exFAT support
* intelli/msm_thermal
* msm_mpdecision
* [B]IO[/B]: noop, deadline, cfq, sio, fiops
* [B]CPU Governor[/B] : msm-dcvs, userspace, powersave, ondemand, performance, DanceDance & Lionheart
* Zram (wip)
* staging: zram: per-cpu support to Crypto
[/SIZE][/FONT][CENTER][B][FONT=Arial][SIZE=2][FONT=Arial]
Please read Change log for more info.[/FONT][/SIZE][/FONT][/B][/CENTER]
[!] Unlocked Bootloader
[!] Custom Recovery Installed CWM or TWRP
[!] S-OFF + rooted + busybox Installed
Code:
1. Download the zip
2. flash in recovery ( copy to sdcard or use adb sideload )
Reboot n Enjoy!
Thank`s to:
Linus Torvalds, showp1984, faux123, Zarboz, dsb9938, elkay, crpalmer, chad0989, codeaurora.org, kernel.org, linux-foundation.org, xda-developers.com, HTC and all kernel and rom dev !!!
Please use and enjoy it, and if you can make a donation of any amount, I'd appreciate it immensely
Last edited: