Here we go guys, new version of my BFS AOSP kernel. This is formerly known as KangBang. I changed the name, because I merged the source trees to make my life easier.
Been working hard on this kernel for quite some time, and Birdman helped out drastically (even though he broke stuff )
Big thanks to:
Birdman, Slayher, Captainkrtek, Imoseyon (for the 2.6.35 port, all of his help, and various code I kanged), Jake Day (for helping me get started with kernels, and always helping with any questions I've had), jt1134 (who helped me get my foot off the ground with the fascinate kernel I did a while back) Pershoot, and plenty of others I can't remember right now.
OMFGB Kernel
SmartAss v2
BFS updated to v406
Simple I/O scheduler (nice for EMMC devices)
msm: cpufreq: Use INIT_COMPLETION instead of init_completion
msm: cpufreq: Create cpufreq workqueue for freq changes
Ondemand governor adjusted to transition up more aggressively and down more conservatively. Works nice because of how BFS works
BFS patched back to cpufreq.c. This was removed with the 3.0 cpufreq backport, and I forgot about it :/
Cleaned the defconfig some more to remove more debugging
Mount option tuning in ramdisk
KangBang 1.0
In-call audio fixes
Updated to Linux kernel 2.6.35.14 (thanks to kernel.org and the whole linux kernel team)
Added more slots (37 now)
Adjusted voltages
BT Addr exposed correctly
Additional LTE drivers
ext4 fixes from codeaurora
various other fixes from codeaurora
Audio driver updated, pulled from pyramid kernel
KangBang 0.9
0.9 Final:
Adjusted the frequency table, and there are now 30 slots active, including 184 mhz. Stock speeds are 230mhz and 1024mhz
CK1 and 2 patched in:
Add Background scan patch
Idleprio effectivity changes
Kswapd adjustments
Swappiness 0 (this is kernel side now instead of ramdisk)
Changes to make swappiness actually do what it's supposed to do
Add lru tail for lru cache
Also, vipermod and VDD/sysfs nonsense is now in the kernel. Use whatever you want, to control whatever you want. WARNING: this may cause your phone to freeze. I tried using it to lower my volts by 25mv. froze almost immediately after. the volts for the two lowest slots are 875mv. that's pretty damn low
Stock charge methods are in. (No more fast charge for now)
Latest wifi driver (backported from google's linux/android kernel 3.0RC7 thanks to jdkoreclipse)
Because of the way BFS works it needs to transition up in frequency more aggressively and down more conservatively. This is minor adjustments, but makes a BIG difference. For the CFS version, I'll be adding an ifdef to not do this for CFS. Surprisingly, it doesn't hit battery, barely.
LTE is now in low power mode (credit to Imoseyon)
Debugging crap removed from defconfig.
Kanged from pershoot:
merged (from android.git.kernel.org)
netfilter: adding the original quota2 from xtables-addons
mm: remove likely() from grab_cache_page_write_begin()
mm: set correct numa_zonelist_order string when configured on the kernel…
mm: clear pages_scanned only if draining a pcp adds pages to the buddy a…
mm: must include mm: use alloc_bootmem_node_nopanic() on really needed path
mm: vmscan: correctly check if reclaimer should schedule during shrink_s…
memcg: more mem_cgroup_uncharge() batching
mm/migrate.c: fix compilation error
KangBang 0.8
Kanged workqueue 2.6.36.1 backport from Imoseyon
Kanged 3.0rc6 cpufreq/cpuidle backport from Imoseyon
Couple other adjustments
Added new CPU governor: LagFree. This new governor is based on conservative, and tweaked to lower the cpu frequency on suspend, and keep it over a minium value
during phone operation. This governor added some nice tweaks to be added to other governors, looking in to that.
Swap cache dropped more agressively via ck1 patch
More compiler optimizations
Decrease default dirty ratio via ck3 patch
Enable swaptoken only when swap is full via ck3 patch
Wifi voltage lowered
2.6.39 Conservative governor backported
Call Recording support added
2.6.39 bcm4329 (wifi) driver backported
Mecha: Add gan sound device.
Mecha: Allow varying of button backlight levels.
Mecha: Allow disabling of the back mic.
Mecha: Add gan sound device
Mecha: wifi: Improve BT-coex in A2DP mode
KangBang 0.7:
Added SmartAss back
Ondemand and interactive have sleep profiles again
Sound fix from birdman included
SLQB Memory Allocator re-added
KangBang 0.6:
Re-based to Ace kernel source, so I lost some of my changes for now (until i'm not so lazy and fix them)
There are a LOT of changes/additions.
Theres a new RCU boost, which is proving to be nice so far.
Changed the memory allocator to SLUB until I get SLQB ported in
As of right now, theres no auto sleep profile in ondemand/interactive. Both of these governors still need adjustments.
The clock frequencies are the default CM frequencies. Their table is populated correctly, and currently, I'm adding frequencies back in one at a time to make sure it will boot. This will take a while... bare with me guys
Lowered RR_Interval to 6 to increase latency. Might drop it to 4
Neon and VFP optimizations
OnDemand governor Threshold adjustments
CONFIG_HZ=300 instead of 100
Add Tiny Preempt RCU
RCU Boost Prio set to 50, Delay set to 300 (still playing with these)
Sound tweaks credit to CodeAurora/Birdman
GPU Memory allocation raised
Numerous fixes from CM kernel source
KangBang 0.5:
Reverted the GPU/Camera memory allocation adjustment, as it screwed up the camera.
Reverted to my old config file, as the extra slim one broke certain apps
Stabilized voltages
KangBang 0.4:
Full wifi/settings/MMS/etc. fix credit to beavis9k!!
Added V/R I/O Scheduler (still using BFQ as default for now)
BT Audio volume raised (Credit to Slayher)
Prevent memory leak on hotplug (thx Pershoot)
GPU/Camera memory allocations raised
Cleaned up my defconfig even more. This kernel is tiny, tinier than ever before. The actual kernel zImage is 1.9mb as opposed to the 2.2 it was before. This will allow a performance increase, as there is less the kernel is trying to crank out.
Initial release, 0.3:
Feature packed for the first release.
2.6.35.13 (latest upstream linux kernel)
System/Data/Cache mounted EXT4
Numerous EXT4 file system tweaks
Overclock up to 1.8 Ghz
Undervolted for battery life/stability
BFS v404 (HUGE performance increase from the v3xx BFS series)
Tiny RCU
SLQB Memory Allocator
BFQ v2rc1 I/O Scheduler (much nicer than the original BFQ)
Kernel speed defaulted to 1024, stock tbolt speed
OnDemand governor backported from 2.6.39, with sleep/wake code (kanged from Imoseyon's OnDemandX, thanks Imoseyon!)
Wifi driver updated to latest AOSP driver
AOSP-style BT driver (kanged from Slayher's kernel source, thanks Slayher!)
MULTIPLE fixes pulled in from CyanogenMod MSM7x30 kernel source (time compensation, ashmem flush, wifi n support, CPU-supported unaligned access, compensation for rounding on odd-frequency clocksources, etc.)
Interactive governor with sleep/wake code (kanged from interactiveX, thanks Imoseyon!)
Numerous BFS tweaks for better performance, and better support for android.
SD Card read-ahead buffer increased
FS read-ahead buffer increased
Some other things I probably can't remember right now (I should take better notes, I'll add more as I remember)
Whew. Pretty hefty initial release.
Secondly, I comply with GPL. Here is my source code. Feel free to kang away, just credit me, at least in your source if not anywhere else http://bit.ly/lSXnZx
-Jesse
1See a helpful post? Remember to press "thanks" to add to the poster's reputation. [howto] post a helpful logcat directly from your phone (for noobs like me) http://rootz.su/logcat
Thanks guys update coming soon (hopefully tomorrow or Wednesday)
Completely re-doing the way page writeback is, to be less dirty, and backporting a lot of code from 2.6.38. About half way done.