[Sony Xperia L] Deleted member 4736004:
Hey all,

This kernel works on stock 4.2 ROM's only.

Disclaimer

This kernel, in any way, won't make your device fly or break antutu charts. What I can only promise is a consistent performance with reliable battery life.

Instructions:

flash zip in recovery

Features:

Integrated CWM

Linaro 4.9.1

kexec hardboot support

Full SELinux Support with upstream fixes

Userspace voltage control

Updated prima wlan with CAF fix for delayed notifications

1.2 GHz max frequency

More GPU clocks with optional overclock to 450 MHz

CAF backport fixes

vibrator intensity control

Kill debug wherever possible to reduce overheads

general tweaks here and there

Note:

For full in-depth info, checkout my commits and release notes. I am not huge fan of bloated feature list since end-user may find it too difficult to grasp.

Although every feature is controllable through sysfs, I would still recommend trickster mod or kernel tuner app for tweaking.

Kernel will boot with my recommended settings but you can change them if you know what you're doing.

Download

Source

Release Notes

1. r1

* Initial release

* Hotplug driver: This kernel uses stock mpdecision by qcom. I won't be switching to other custom hotplug driver in a foreseeable future.

* Single initrd: I wasn't happy with standard method of packing two ramdisks inside an initrd. This caused unnecessary cpu overheads while decompressing boot ramdisk especially heavily compressed ones like xz and rewriting data to rootfs /. So I forked a process from init.rc to detect keychecks and exec recovery init from stock initrd itself. This improves upon the situation above by having everything we need in stock initrd itself. Boot times also become relatively shorter. I would recommend kernel developers to switch to this method.

* Kexec Hardboot : zip will automatically install all required kexec binaries.

Place your zImage and ramdisk.img in /sdcard/kexec/* and in terminal type:

do-kexec.sh

kexec -e

* Vibrator intensity control:

sys interface is located at /sys/devices/virtual/timed_output/vibrator/level

* Updated Prima: Stock fw used ancient prima 3.2.1.1h. I upstreamed it to 3.2.2.0 with CAF fix for delayed wifi notifications.

* sched_mc_power_savings = 1

Tries to group tasks into least cores possible. Battery friendly. 1 is moderate. 2 is extreme. 0 disables it.

* Userspace voltage control by [MENTION=3332811]faux123[/MENTION]:

I modified the original code by introducing a useful pr_info to actually output voltage change requested in mV. Also some cosmetic conditional and looping changes.

To determine the last voltage change, type dmesg | grep requested

The sys interface is located at:

/sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels.

Sample command to decrease voltages at all frequencies by 10mV

echo "-10000" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels

By default, kernel comes with 20mV undervolt.

* patch CVE-2014-0196

* add row and sio iosched

* Enable writing to hardware rtc

* More gpu scaling levels : 450 MHz and 128 MHz

* External modules.zip : cifs.ko, ntfs.ko, nls_utf8.ko, hid-sony.ko

* HID driver for Sony / PS2 / PS3 BD devices : hid-sony.ko

ramdisk will automatically insmod it if found.

* VM_MAX_READAHEAD512

* sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire

* lib: Update RWSEM to Linux 3.10

* lib/int_sqrt.c: optimize square root algorithm

* enable some more TCP Cong methods

* deadline tweaks

* partially nuke cci stuff

* switch to noatime and nodiratime

This option stops recording the last file access time when the file is just read. The noatime option eliminates all the writes to the disk each time a file was just read which previously used to happen with atime. However a write is made to a disk in case if a file is being changed/written. Easy on cpu and battery.

* tick: Upstream fixes

* xz compression for zImage ( best compression ratio ) and gz for ramdisk

* kill debug such as DETECT_HUNG_TASK, DEBUG_ATOMIC_SLEEP etc. which cause unnecessary CPU overheads

* enable adb RSA authentication

ro.adb.secure=1

* ro.debuggable=1

* Various CAF backport fixes including fixes to SELinux

Please don't ask for

:

1. Anything that ends with *to-wake/sleep/dance

Got a bug?

cat dmesg and pastie me.

Credits:

[MENTION=3332811]faux123[/MENTION]: for voltage control

[MENTION=3292224]franciscofranco[/MENTION]: for some patches I took from his mako repo

[MENTION=4309448]varun.chitre15[/MENTION] : for some patches i took from his caf repo