gpl | abyss kernel 1.20 | cm-14.x

Status
Not open for further replies.

adinkwok

Retired Forum Moderator / Inactive Recognized Deve
May 28, 2013
2,712
10,116
0
6ix
adin.dev
Hi oneplus2 people!

This is my modified kernel with some kernel optimizations and some compiler optimizations.
The goal of abyss is to achieve improved performance/battery without the cost of stability.
I will not be overhauling this project with changes that are not logical to add.

This kernel should work on the latest 7.x.x roms like CyanogenMod.
It might work on other roms, but there will be little support for them.

How does one achieve this?
- build kernel with an optimized toolchain
- use compiler optimization flags (experimental)
- remove redundant code
- improve existing code with more efficient code
- etc. (most are not so easy to explain)
This kernel is built with mdalexca's latest UBER GCC 4.9.

Is there actually a performance improvement?
With all the changes added up, there should be. Whether or not one notices the difference is another thing.
For those interested in how the kernel optimizations will benefit/work, please look at my github source and read the commit messages.
For those interested in how the compiler optimizations/hacks will benefit/work, please look at this article.

Downloads:
Latest release
BasketBuild

Source:
GitHub

This was made by request from dsst22 who also tested this bad boi like crazy.

XDA:DevDB Information
abyss kernel for the OnePlus 2, Kernel for the OnePlus 2

Contributors
kwoktopus, dsst22, OnePlus, grarak, The Flash, arter97, Lord Boeffla, frap129, Linux, Google, CAF, a bunch of other major OEMs
Source Code: https://github.com/abyss-kernels/oneplus2

Kernel Special Features:

Version Information
Status: Nightly
Current Stable Version: 1.20
Stable Release Date: 2016-12-05

Created 2016-12-05
Last Updated 2016-12-13
 
Last edited:

adinkwok

Retired Forum Moderator / Inactive Recognized Deve
May 28, 2013
2,712
10,116
0
6ix
adin.dev
Key Changes:
- upstream interactive governor (with Flash 1.0 profile by The Flash) (Google and CAF)
- upstream cpufreq driver (Google and CAF)
- upstream cpu-boost driver (Google and CAF)
- upstream random driver from Linux 4.1.31 (performance..!)
- slub/slab/slob/vmalloc patches
- flar2's slightly modified thermal driver
- using Linaro's power efficient workqueues throughout kernel
- using Adreno idler by arter97 to reduce frequency scaling without performance cost
- using power efficient "relaxed" macros throughout kernel (assembler)
- KCAL Control Driver by Savoca
- Android-Keyboard patch, use your device as an external keyboard!
- too many to list here, check out my source

How to install:
Place zip in to your internal storage
Place current ROM zip on to your storage
Boot into TWRP recovery
(If you're coming from a different kernel, dirty flash current ROM)
Flash kernel zip
Reboot
 
Last edited:

adinkwok

Retired Forum Moderator / Inactive Recognized Deve
May 28, 2013
2,712
10,116
0
6ix
adin.dev
Don't like the defaults?
Use Kernel Adiutor to change the settings!

Frequently Asked Questions:
Is this a custom kernel?
I was asked this question once, and it posed as a real good question. I do not consider abyss to be a "custom kernel" per se, but more so as a modified kernel. The patches and features that go into this kernel do not make it customizable. What they do is improve what has already been implemented. It is like swapping a car's engine for a better one rather than just adding LED flooring lights and fancy car mats.

Can you add [this] and [that] feature?
Something I pride myself with this kernel is that it does not have a bunch of random, useless features or patches mashed into it. Everything put into this kernel is thought out and tested. I see a lot of works being made popular because it has [this] and [that] feature when really, it's nothing revolutionary. As a matter of fact, most things added to any kernel will not make it 5x better than any other kernel. Most of the time, simple is better; and in this case it definitely is!
 
Last edited:

adinkwok

Retired Forum Moderator / Inactive Recognized Deve
May 28, 2013
2,712
10,116
0
6ix
adin.dev
Yess! Been waiting for this ever since i saw your OP2 repo!
You can thank @dsst22 for helping with testing, or else you would have waited a very long time :silly:

Does this kernel install on a f2fs formatted system?
I have not made any file system changes to the kernel. If the stock CM kernel supports, then this one will too.
 

socialdistortion

Senior Member
Dec 9, 2010
346
67
0
Works on a f2fs filesystem based rom. Testing it now...

Edit: No obvious bugs at the moment. Is it possible to implement some sort of charging control. The USB charging speed is super slow (on both this kernel and stock CM kernel).
 
Last edited:
  • Like
Reactions: dsst22

adinkwok

Retired Forum Moderator / Inactive Recognized Deve
May 28, 2013
2,712
10,116
0
6ix
adin.dev
Pretty smooth haven't found any bugs. Love the simplicity.
I can't imagine what it would be like with a little over clock.
I trust the engineers that designed the chip to choose a safe maximum clock speed. Here's a pretty good article on the risks vs benefits, which outline some strong points.


But, if I were to add it, I would set the max value at boot to stay as stock values; so I'll leave it up to @dsst22 to decide.
 
Status
Not open for further replies.