[Sony Ericsson Xperia Mini, Mini Pro, Xperia Pro, A] CTCaer:
CTCaer Kernel ICS version v2.8.2

*Light. Fast. Triple Buffering. More Total Ram. Entropy*

Updated: 8 September 2013

Features:

Based on Lupus kernel .587/.13 sources

Compiled with Linaro 4.7.3

CWM by DoomLord

Works with stock wifi modules

Overclock to safe 1.4 GHz with Qualcomm's frequencies for less battery drain (max is 1.6Ghz)

Deep undervolting with aire's values

15MB more total ram

Triple Buffering like jellybean

Auto rooting with latest superuser 3.2 binaries

Init.d support (fixed double triggering, even when using install-recovery.sh method)

Dual Recovery. TWRP (volume keys), CWM (power key)

Kernel/Memory Optimizations:

UKSM (saves 20-65mb ram)

Optimised Low Memory Killer

Random Entropy generator fixes and tweaks

frandom + replaced random/urandom with frandom/erandom

Compaction for LMK

Better Memcopy/Memove

Tiny RCU for smaller memory footprint

CPU group schedulling

Cleancache

Better pmem

Kernel Samepage Merging (Can't be used in the end)

Optimized and faster Swap and Zram

Thumbee support

ARMv7a optimizations

lowered vfs cache pressure

Optimized cpufreq/governors

And more tweaks for a smoother and faster Kernel

Script to clean unused ramdisk files after boot, to free up ram (9mb)

File systems:

ntfs, ext2/3/4, filesystems support

jbd2 journaling for ext fs

CIFS, FUSE and Usb OTG Storage

512KB SD read ahead (faster reads without hogging the cpu and ram)

sd-ext support

Other:

Updated LZO

2 way call recording

Google's Snappy Compression and Decompression

Better WiFi range and enabled channel 14

0% battery patch by Bazoocaze

Working ADB and usb in Recovery, plus rooted shell

Usb network tethering

Key reset

Governor Schedulers :

Ondemandx

Performance

SmartassV2 (tweaked+fixed scheduling) [Default]

Superbad (tweaked)

lulzactiveV2

Badass

IO Schedulers :

Noop

SIO [Default]

ROW (experimental)

BFQ

CFQ

deadline

For more, check changelogs from post 2.

Info about some mods:

1.4Ghz Overclock + UV. Kept Qualcomm's frequencies table as proved to have less battery drain for some reason.

The undervoltaging is max -50mV on most frequencies, as to avoid error corrections from low voltage (errors in calculations increases drain a lot) and also to avoid cpu halts. Needs further investigating for lower values.

Now using aire's values, the best for battery for over a year.

11mb ram freed from camera and adsp pmem. This came from many tests that showed that when taking 8mp pictures, 720p video (w/ or w/o stabilizer), playing 720p video with hw decoding and hw audio decoding audio, the used pmem was max 42MB for camera pmem and 6MB for adsp. Can be freed 7-8Mb more but didnt do it for stability reasons under multimedia multitasking.

That also shows us that the stabilizer lag in camera doesn't come from the pmems. I'll try to check the camera sources and see if it's driver related.

If you find anything strange with anything that use the camera or the DSP tell me and please provide logcat logs.

Triple Buffering. At last some JB goodies to us using stock. This gives great UI and game Frame rates (tested). It uses the normal mode (as we don't have the vsync sync pulse like JB, which also auto disables it when not needed), and that means that it doesn't introduces slight lag to input. In games if you see something strange though please reply in this thread.

Random Entropy Generator. Fixes and tweaks to random generator. And also to binfmt_elf, no more entropy depletion through using shell, scripts and generally any binary. Say no to blocking random, and enjoy a smoother UI.

Now with frandom for 50x more performance.

Governors/IO scheds. No bloating here. Kept only the best for battery and performance.

The default ones are the highly optimized. If you have some tweaks for all schedulers that will increase battery and performance (always in balance), don't hesitate to tell me.

Key reset. You can reboot your phone when kernel halts or something brought your phone to its knees by pressing

Power + Home for 5s. Don't do it just for restarting it fast! This does not good to your filesystem because they can't sync,

so you can lose changes made the last seconds. Also after initiating it you don't have to press both buttons for the remaining 4s.

In 2.8 the combination is Power + Home + Volume Up for 5s.

Twrp and Cwm differences. TWRP and CWM are both recovery apps but use different apis.

CWM use nandroid backup and TWRP uses it's own.

CWM uses and old recovery API (v2) and TWRP use the newest recovery API 3

That means that you can't use a backup made with cwm in twrp, and vice versa.

In TWRP, some flashable zip will not work, until they have a newer update-binary (that supports API 3).

(That's the one provided by Team Win: update-binary-3)

If you want other info, again write here. And last but not least the kernel version number 0.8a doesn't mean that's beta. The kernel right now is highly optimized and working. The version just means that I'll try many things more to make our phone better.

Thanks:

wedgess for his great Lupus kernel sources.

aire and vdsirotkin for their great kernels that i used for many months at both GB and ICS.

DooMLoRD Well you all know why :)

thomas1991_12 and championswimmer for help and twrp binary accordingly

And to all Freexperia Project members for their great patches and fixes to our phones.

Changelogs

Click the link to view the changelogs or go directly to post 2

DISCLAIMER for sharing outside xda:

It got to my attention that the kernel is shared in many boards outside xda

and especially in many Asian ones. It's fine to make a complete copy of OP and changelog,

I don't mind, but you have to provide a link to this thread.

Also, the most important, please use my links for kernel binaries. If you don't do this, I can't see usage stats of my kernel.

That's why I use mediafire. It's fast, supports multiple connections, no wait time and is usable in every country.

Downloads and Sources:

Main Version:

CTCaer Kernel v2.8 1.4GHz + UV

or

CTCaer Kernel 2.8.2 UKSM special version

The special version may not work for you, cause of lower voltages. After 20 sept, i'll do proper releases.

Vdd Version:

DISCLAIMER: I will not provide help on reboots and bootloops on 1.6GHz + VDD control version.

It's here for people that need 1.6ghz and voltage control only. Default speed is 1.0Ghz.

CTCaer Kernel v2.8 1.6GHz + VDD control

If you want to use usb storage, ntfs and more you can flash these modules (if not, they are optional):

Modules for CIFS, NTFS, FUSE and USB Storage v2 ** Updated **

The updated modules bring: Updated cifs,fuse,ntfs,usb-storage and adds nls_utf8 for Unicode support, plus oprofile for people that want debugging.

CTCaer Kernel needs stock wifi modules. If you changed them, flash this:

Stock .13 WiFi modules

If you came from a kernel that you had to flash custom modules, use the flash zip above to have the stock ones again.

Some kernels, like Lupus, change the modules on their own, by just flashing the kernel and powering on the phone.

The original with Lupus are moved in /system/lib/modules.old.

Info for going back from Lupus

Many thanks [MENTION=516740]arcatarc[/MENTION] for providing the flashable update zip.

Old Versions:

CTCaer Kernel v2.7 1.4GHz + UV

CTCaer Kernel v2.7 1.6GHz + VDD control

CTCaer Kernel v2.6 1.4GHz + UV

CTCaer Kernel v2.6 1.6GHz + VDD control

CTCaer Kernel v2.52

CTCaer Kernel v2.51

CTCaer Kernel v2.5

CTCaer Kernel v2

CTCaer Kernel v0.8a

Modules for CIFS, NTFS, FUSE and USB Storage v1

And as per GPL here are the forked sources: :)

https://github.com/CTCaer/CTCaer-ICS-Xperia2011

For v2.7,2.8 check v2.8 branch, because currently, I don't have time to push commits one by one.

For compiling, I used Linaro 4.7.3 and ctcaer_urushi_defconfig (1.4GHz+UV) and ctcaerVDD_urushi_defconfig (1.6GHz+Vdd)

If you liked my kernel click THANKS!