The buck stops here
Project Background
This kernel makes things BETTER. Without tons and tons of over exaggerated fluff
"But BB...What about INTelligentSuperBOOSTXX5MillionPOINT5MegaBlast?!?!?!? Can you add this!?". While I appreciate all the great and free work that several great individuals do for the community. I personally don't see the need to alter any of these TEGRA/Board drivers a whole lot - not on these latest generation of devices. Things run pretty well I think.
"Why don't you just run the stock kernel then you sick low-life waste of space?"
Because, I still think improvements can be made.
I think there's a lot of good intentions out there to make improvements in the kernel-space, BUT:
I've observed a variety of things that were prevalent a couple of years ago and that are still prevalent today. (1) A lot of small things are changed - and advertised as a huge improvement, (2) some tunables are adjusted and advertised as a huge change/improvement but end up being a regression because they were never tested, or (3) some code is merged that causes regressions and it turns out that self-inflicted bugs are being chased around.
Zen is an attempt at improving the stock kernel. That's it.
Project Summary
The Zen kernel has always been oriented at improving the experience for
BFS CPU Scheduler
BFS is an alternative CPU scheduler to the stock kernel's CFS. BFS features a simple single-runqueue O
Anyway, not going to get into it much but you may find more information in post 2, or throughout this thread (I explained a bit more details about it around page 4).The goal of the Brain **** Scheduler, referred to as BFS from here on, is to completely do away with the complex designs of the past for the cpu process scheduler and instead implement one that is very simple in basic design. The main focus of BFS is to achieve excellent desktop interactivity and responsiveness without heuristics and tuning knobs that are difficult to understand, impossible to model and predict the effect of, and when tuned to one workload cause massive detriment to another.
Also, check these out:
BFS FAQ
BFS Wikia
Android/Tegra 3.10 BFS Port
What is different about this and the 3.10-ck1 bfs v440 patch available on ck.kolivas.org
- Backport fixes and features (not SMT NICE) from up to bfs v460ish
- Some of Alfred Chen's upstream synchronization and refactoring of BFS methods (linux-3.18/19-gc branch)
- My own syncing with mainline as well as backporting
- support for tegra yield notifiers
- Suspend/Wake issues that were killer on bfs v440 for 3.10 are not present in this port - these issues have been resolved.
- You should NEVER report any issue related to this kernel upstream. Not android, linux, or BFS related. Do not report any issues anywhere but here.
This kernel is all about interactivity by default.
The default rr_interval is set to 6. The logic is the human eye cannot detect jitter until about 7ms. Try lowering it if you want to increase interactivity. Try increasing it to achieve higher thoroughput.
-------------------------
Zen/Shamu Features
- BFS CPU Scheduler
- @flar2 Wake Gestures
- USB Fastcharge Support
- Fsync SysFS Interface
- Overclocking support to 2.5GHz
- FIOPS + BFQ in addition to the stock ROW, CFQ, Deadline, No-op I/O schedulers
- Several misc upstream updates/fixes.
- zRam support
- @osm0sis AnyKernel2
Releases
Wipe /cache before flashing for best results
DIRTY FLASH ROM FIRST!
If you have any issues or if you are coming from another custom kernel.
DIRTY FLASH ROM FIRST IF COMING FROM ANOTHER CUSTOM KERNEL
3.10-zen1 "Dollar Drink Night"
First Release/Features:
- BFS CPU Scheduler by Con Kolivas. Backport from v461 and Alfred Chen's -gc branch ported to android/tegra 3.10 by me
- BFQ + FIOPS I/O Schedulers in addition to CFQ (default), ROW, Deadline
- Interactive governor sync'd up with ZenKernel_Shamu
- EXT4 from v3.10.y
- Several misc. memory leak, race condition fixes, etc. picked from v3.10.y
- CPU overclocking up to 2.5GHz
- Wake gestures from @flar2
- MM+VM Changes from upstream v3.10.y
- 2A Charging Support
- Fsync toggle support
3.10-zen1 AnyKernel Zip (Use for any ROM)
Legacy Releases
3.10-zen0 "Warranty Voided"
Changes:
3.10-zen0 AnyKernel Zip (Use for any ROM)
Changes:
- This is just experimental
- Make sure it works
- Changes
3.10-zen0 AnyKernel Zip (Use for any ROM)
Thanks guys, and enjoy. Feedback is always appreciated.
XDA:DevDB Information
Zen Kernel, Kernel for the Nexus 9
Contributors
bbedward
Source Code: https://github.com/bbedward/ZenKernel_Flounder
Kernel Special Features:
Version Information
Status: Beta
Current Stable Version: 1
Beta Release Date: 2015-04-19
Created 2015-04-19
Last Updated 2015-04-19
