Android OS Forum banner
1 - 20 of 300 Posts

229 Posts
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

[hide=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.

[hide=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
  • rr_interval back to 6 from 10.
  • USB: android gadget: mass_storage: read/write performance enhancement
  • REALLY Add SLQB Memory Allocator this time
  • 3.0 block code backported
  • Jhash 3 speed tweak
  • 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

[hide=KangBang 1.0]
  • In-call audio fixes
  • Updated to Linux kernel (thanks to 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

[hide=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:

  1. Add Background scan patch
  2. Idleprio effectivity changes
  3. Kswapd adjustments
  4. Swappiness 0 (this is kernel side now instead of ramdisk)
  5. Changes to make swappiness actually do what it's supposed to do
  6. 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:
  1. merged (from
  2. netfilter: adding the original quota2 from xtables-addons
  3. netfitler: fixup the quota2, and enable.
  4. net: wireless: bcm4329: Fix roaming message processing

  • -merged (from kali-, htc-kernel-msm7x30):
  1. driver: update TP driver via HTC vivo GB MR
  2. Merge updates via HTC's vision-2.6.35-gb-MR release

  • -merged (from Pershoots Galaxy Tab 10.1 kernel):
  1. mm: find_get_pages_contig fixlet
  2. mm: convert sprintf_symbol to %pS
  3. mm: smaps: export mlock information
  4. mm: remove unused get_vm_area_node
  5. mm: remove gfp mask from pcpu_get_vm_areas
  6. mm: unify module_alloc code for vmalloc
  7. mm: clear PageError bit in msync & fsync
  8. mm: remove likely() from mapping_unevictable()
  9. mm: remove unlikely() from page_mapping()
  10. mm: remove likely() from grab_cache_page_write_begin()
  11. mm: set correct numa_zonelist_order string when configured on the kernel…
  12. mm: clear pages_scanned only if draining a pcp adds pages to the buddy a…
  13. mm: must include mm: use alloc_bootmem_node_nopanic() on really needed path
  14. mm: vmscan: correctly check if reclaimer should schedule during shrink_s…
  15. memcg: more mem_cgroup_uncharge() batching
  16. mm/migrate.c: fix compilation error

[hide=KangBang 0.8]
  • Kanged workqueue 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

[hide=KangBang 0.7:]
  • Added SmartAss back
  • Ondemand and interactive have sleep profiles again
  • Sound fix from birdman included
  • SLQB Memory Allocator re-added

[hide=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

[hide=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

[hide=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.

[hide=Initial release, 0.3:]
Feature packed for the first release.
  • (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

Now to the goodies:

[head]Download link:[/head]
If you're running the latest cm7 (7.1.1) flash this version:
If you're running the latest cm7 (7.1.1) flash this version:

Broken list in 2nd post, To Do List with it.

For the latest news/updates, or just to show some love, follow me on twitter! @Drod2169

If you like my work, please consider donating to your favorite charity in my name, or to the RootzWiki site, to help support the community as a large.

229 Posts
Discussion Starter · #8 ·
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.

229 Posts
Discussion Starter · #12 ·
Speeddymon said:
Still waiting for the sense kernel....
I'm back to work on kernels now (as of tonight). I had a momentary collapse from the world. Check back by the end of the weekend (or add me on gtalk, get my gmail from Bird or b16, since I don't have any sense testers)

Supporting Member - aka crack giver
437 Posts
DRod2169 said:
I'm back to work on kernels now (as of tonight). I had a momentary collapse from the world. Check back by the end of the weekend (or add me on gtalk, get my gmail from Bird or b16, since I don't have any sense testers)
I'll test your sense kernels as well my gtalk is in my signature area
1 - 20 of 300 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.