[ZeusROM/KERNEL][N960F/N][Q][BLKMQ|WBT|GCMA|LTO|SimpleLMK]-Truly Most Powerful Kernel

Status
Not open for further replies.
Search This thread

azZA_09

Senior Member
Jul 10, 2014
839
381
34
In your mind
Samsung Galaxy Note 20 Ultra
Hello, XDA! Me and @Da-BOSS would like to publish the Ultimate Kernel - Zeus :victory: .
Without too much hassle, let's see what this Kernel brings to our beloved Note 9.

K4gqI3T.jpg

Behold the wall of features

Android Q kernel is based from Google sources Android-Q branch with applied on top of it Samsung's kernel sources.

Since there is no more ELS repository for Android Q kernels.. I made a branch on the same repository on Github called [ZeusELS] which is purely a completely stock kernel with linux upstreamed always to the latest :angel: that's if anyone wanted to develop a new kernel from scratch ;) also.. ZeusELS is based from Google sources Android-Q branch with applied on top of it Samsung's kernel sources too ! :fingers-crossed:

Download links are always at the end of this post

ZeusROM Features for Android Q
[*] It is just simply a replicate of DevBaseROM from @_alexndr but with more debloats and Zeus Kernel ready inside... just flash it and it is ready ;)


Kernel Features for Android Q

  • Imported N960FXXS4DTA5 kernel sources
  • Used updated ramdisk N960FXXS4DTA5
  • The kernel is now compiled with GCC 10.0.1 along with LTO [Link Time Optimization] using the latest updates available for [isl,mpc,mpfr,zlib,etc..] GCC is self compiled with all kind of flags optimizations applied for maximum performance benefits and increase code quality
  • Using GCC LTO with all fixes and optimizations which leads to faster kernel operations and less kernel code bloating which will lead to less kernel size in which allows me to make room and use O3 kernel optimizations which will increase kernel size a little bit for results in significantly improved hackbench performance, which is a sign that overall performance in the kernel is improved. It works especially well in conjunction with LTO.
  • Implemented/Using [W.B.T.] Write Back Throttling driver which increases IO performance and smoothness of the kernel operating generally.. what it does is...
    [Enable throttling of buffered writeback to make it a lot
    more smooth, and has way less impact on other system activity.
    Background writeback should be, by definition, background
    activity. The fact that we flush huge bundles of it at the time
    means that it potentially has heavy impacts on foreground workloads,
    which isn't ideal. We can't easily limit the sizes of writes that
    we do, since that would impact file system layout in the presence
    of delayed allocation. So just throttle back buffered writeback,
    unless someone is waiting for it.]
  • Implemented hybrid poll mode With this hybrid scheme, we can achieve big latency reductions while still using the same (or less) amount of CPU.
  • Implemented various patches from 4.10/4.14/4.19 imported
  • Simple LMK! first in the history of Samsung smartphones with all updates and patches applied
  • Undervolted everything on the SOC from RAM,CPU,Camera,CPU Bus,etc..
  • Reduced SELinux expensive calls for audit and disabled entirely
  • Updated SchedUtil to the latest patches & updates
  • Updated SchedUtilX to the latest patches & updates
  • Implemented IOwait and Use it + Make IOwait boost more energy efficient
  • Re-adjusted Samsung values on nearly everything volts,battery,ram,etc..
  • Using the S10/N10 Values to our beloved Note9 for Exynos hotplugging drivers
  • Using CPU Assist driver and updated its values
  • Disabled all kind of Debuggings, loggings, tracings aggressively kernel size is under 30MB!
  • Boost DevFreq whenever a new frame kicks
  • Added PowerSuspend Driver which will help on battery saving extensively and integrated it to display driver
  • Using HTC's Fsync named [Asynchronous Fsync] and made it working as default for Note 9
  • Implemented Sched Yields to force sleep whenever it kicks in
  • Moved MMC driver to SCHED_FIFO thread to reduce the impact of
    load on IO performance.
  • Applied O3 compiling flags to Crypto drivers for increase performance
  • Tuned Up ALMK [Adaptive LowMemoryKiller] values and use it by default
  • Adapted and Implemented Force Reclaim driver from Lenovo and use it by default
  • Killed Samsung's poor RBIN memory management
  • Implemented CMA from Qualcomms devices and Use it as a replacment of Samsung's RBIN here what does it do..
    [CMA pages are designed to be used as fallback for movable allocations
    and cannot be used for non-movable allocations. If CMA pages are
    utilized poorly, non-movable allocations may end up getting starved if
    all regular movable pages are allocated and the only pages left are
    CMA. Always using CMA pages first creates unacceptable performance
    problems. As a midway alternative, use CMA pages for certain
    userspace allocations. The userspace pages can be migrated or dropped
    quickly which giving decent utilization.
    ]
  • Introduce and Implement and Use GCMA [Guaranteed Contiguous Memory Allocator] read below what it does..
    [While demand for physically contiguous memory allocation is still alive, especially in embedded system, existing solutions are insufficient. The most adapted solution is reservation technique. Though it serves allocation well, it could severely degrade memory utilization. There are hardware solutions like Scatter/Gather DMA and IOMMU. However,
    cost of these additional hardware is too excessive for low-end devices. CMA is a software solution of Linux that aims to
    solve not only allocation but also memory utilization problem. However, in real environment, CMA could incur unpredictably slow latency and could often fail to allocate contiguous memory due to its complex design. We introduce a new solution for the above problem, GCMA (Guaranteed Contiguous Memory Allocator). It guarantees not only memory space efficiency but also fast latency and success by using reservation technique and letting only immediately discardable to use the area efficiently. It shows 15 to 130 times faster and more predictable allocation latency without system performance degradation compared to CMA
    .]
  • Implement binderfs for Andorid IPC
  • Wakelock Blocker is used by default and it already blocks the needed wakelocks by default
  • Added DropCache feature which will help with memory management on the long run
  • Tuned Adaptive LMK to work Asynchronously
  • Implemented ZRAM Deduplication feature which will..save amount of memory usage by zram. Read below the benefits...
    [Android is one of the biggest users to use zram as swap and it's
    really important to save amount of memory usage. There is a paper
    that reports that duplication ratio of Android's memory content is
    rather high. And, there is a similar work on zswap that also
    reports that experiments has shown that around 10-15% of pages
    stored in zswp are duplicates and deduplicate them provides some
    benefits.
    ]
  • Implemented ZSWAP same-filled pages handling feature look below what does it do..
    [Zswap is a cache which compresses the pages that are being swapped out
    and stores them into a dynamically allocated RAM-based memory pool. This patch adds a check to identify
    same-filled page before compression of the page. If the page is a
    same-filled page, set zswap_entry.length to zero, save the same-filled
    value and skip the compression of the page and alloction of memory in
    zpool. Improvemnt in preformance varies between 19% ~ 32% increased performance in store time & 49% ~ 85% increased performance in loading time
    ]
  • Implement B-tree function and Made ZSWAP to Use it by default which will lead to the following IO bogo operations: * original: 73778.8 * btree: 393999
  • WireGuad using the latest version always
  • Added MoroSound!
  • Brought a collection of Paranoid Android & Xiaomi patches to our beloved Note9 devices
  • Tuned UFS net boost table
  • Speed up scatterlist to roughly a 2x performance gain & Speed up cache entry creation for mbcache2
  • Implemented some fucntions & drivers from 4.14 Kernel and use it on Note 9 [which have 4.9 Kernel]
  • Using Jump Lable on the kernel read below what does it do..
    [This option enables a transparent branch optimization that makes certain almost-always-true or almost-always-false branch conditions even cheaper to execute within the kernel.
    Certain performance-sensitive kernel code, such as trace points, scheduler functionality, networking code and KVM have such branches and include support for this optimization technique.
    If it is detected that the compiler has support for "asm goto", the kernel will compile such branches with just a nop instruction. When the condition flag is toggled to true, the nop will be converted to a jump instruction to execute the conditional block of instructions.
    This technique lowers overhead and stress on the branch prediction of the processor and generally makes the kernel faster.
    ]
  • Using Jump Lable Relative References on the kernel read below what does it do..
    [Reduce the size taken up by absolute references in jump label
    entries themselves and the associated relocation records in the
    .init segment, add support for emitting them as relative references
    instead.This reduces the size of the __jump_table by 33%, and
    gets rid of the RELA section entirely.
    ]
  • Improve ION cache accounting
  • Added Fingerprint Boost Driver
  • Low Memroy Killer features... LMK Fast RUN, OOM Reaper, Process reclaim
  • Updated ZRAM & ZSWAP with LZ4,ZSTD,LZO compression algorithm
  • Implemented Devfreq Boost driver and updated it... look below what it does
    "This driver boosts enumerated devfreq devices upon input, and allows for
    boosting specific devfreq devices on other custom events. The boost
    frequencies for this driver should be set so that frame drops are
    near-zero at the boosted frequencies and power consumption is minimized
    at said frequencies. The goal of this driver is to provide an interface
    to achieve optimal device performance by requesting boosts on key
    events, such as when a frame is ready to rendered to the display."
  • Introduced a centralized Energy Model (EM) management framework which aggregates the power values provided by drivers into a table for each performance domain in the system.
  • Using always the latest GCC 10 Build with LTO self compiled
  • Added battery Store mode [used to limit charging] advanced use only & Unstable power detection driver and made it optional through HKTweaks app (Google it)
  • Added battery charging control!! [The first on XDA & outside XDA]
  • Kernel size decreased from 39MB to 28~29MB from the debloating the kernel! [Truth to be told the Lightest Kernel on XDA & Outside XDA]
  • WireGuad using the latest version always
  • Added MoroSound! because many requested it
  • Optimized GPU futher by speeding up rendering frames to the display driver
  • Disabled security options that reported it might slow down kernel operation upto 30% [Thanks @arter97!]
  • Tuned UFS net boost table
  • Fixed CPUSet driver & updated block core for faster operations
  • Optimized block driver that should help shaving off a few cycles of the I/O hot path
  • Improve event-poll driver which make wakelocks less likely to happen
  • Improved/Optimized hrtimer, alarmtimer, timers drivers
  • Added Spinlocks, Qspinlocks, RWLocks, QRwlock, Atomic drivers & updated it
  • Optimized Dcache & ARM driver to improve cache-line alignments performance
  • Optimized CGroup to have a dedicated kmem_cache pool and avoid costly dynamic memory allocations.
  • Dynamtic Shedtune driver implemented and updated it with the latest patches
  • Clean up garbage/unused codes from CPU governers
  • Optimized IO up to 34% improvement in the I/O latency.
  • Removed a lot of garbage code and cleaned it up
  • Updated lib lz4 modules from 2013 to 2018/2019 including all updates which makes it possible to enable applications to use fast and/or high compression depending on the use case
  • State notifier driver enabled
  • Linux Up streaming kernel updated to the latest always
  • Applied PSI driver on RAM , CPU , IO Drivers... see what it does...
    [When systems are overcommitted and resources become contended, it's hard to tell exactly the impact this has on workload productivity, or how close the system is to lockups and OOM kills. In particular, when machines work
    multiple jobs concurrently, the impact of overcommit in terms of latency and throughput on the individual job can be enormous.
    In order to maximize hardware utilization without sacrificing individual job health or risk complete machine lockups, this patch implements a way to quantify resource pressure in the system.
    ]
  • Compiled it with GCC 10 with the latest updates applied & custom optimizations is used
  • Implemented FRANDOM
  • Fade Ramp Control
  • SELinux Permissive/Enforced
  • Boeffla WakeLock Blocker
  • Added Unstable Power Detection through HKTweaks app (Google it)
  • CPU Max Freq for LITTLE - Max Freq 2002MHz Min Freq - 455Mhz
  • CPU Max Freq for BIG - Max Freq 2946MHz Min Freq - 650Mhz
  • Sky's the limit.. OC'ed CPU Quad Core to 2.31Ghz & Dual Core to 2.65Ghz! [Default on stock kernel is 1.8GHz Quad & 2.3GHz Dual]
  • Implemented Power saving work-ques and made it optional for those who don't like power saving
  • Updated F2FS to the latest updates taken from Android-Q Google sources! needs ROM modifications to get F2FS working on /data partition
  • HMP is synced with Googles latest scheduler changes

Kernel Features for Android Pie
  • Imported N960FXXU4CSK1 kernel sources
  • Used updated ramdisk N960FXXU4CSK1
  • Implemented Devfreq Boost driver and updated it... look below what it does
    "This driver boosts enumerated devfreq devices upon input, and allows for
    boosting specific devfreq devices on other custom events. The boost
    frequencies for this driver should be set so that frame drops are
    near-zero at the boosted frequencies and power consumption is minimized
    at said frequencies. The goal of this driver is to provide an interface
    to achieve optimal device performance by requesting boosts on key
    events, such as when a frame is ready to rendered to the display."
  • Taken SDCard drivers from Note10.
  • Introduced a centralized Energy Model (EM) management framework which aggregates the power values provided by drivers into a table for each performance domain in the system.
  • Possible fix for 1950Mhz to be forced to 2GHz
  • Added & enabled BBR tcp optimizations and networking operations optimizations... using fq_codel+bbr
    [Observed a significant increase in BBR throughput (measured using netperf), in a basic wifi setup.]
  • Implemented further more CPU optimization for power consumption from Nvidia!! to Enhance power efficiency and adapted it to our Note9 device
  • Using always the latest GCC 10 Build with LTO self compiled
  • Optimized UKSM function and KSM along with it
  • Add ROW scheduling algorithm & ROW driver... mechanism of it is...
    [The ROW scheduling algorithm will be used in mobile devices as default
    block layer IO scheduling algorithm. ROW stands for "READ Over WRITE"
    which is the main requests dispatch policy of this algorithm.
    The ROW IO scheduler was developed with the mobile devices needs in
    mind. In mobile devices we favor user experience upon everything else,
    thus we want to give READ IO requests as much priority as possible.
    The main idea of the ROW scheduling policy is:
    If there are READ requests in pipe - dispatch them but don't starve
    the WRITE requests too much.
    ]
  • Added battery Store mode [used to limit charging] advanced use only & Unstable power detection driver and made it optional through HKTweaks app (Google it)
  • Added battery charging control!! [The first on XDA & outside XDA]
  • Made automated driver for read-ahead size decision when inserting any OTG/USB external storage on the device to optimize file processing performance.
  • Kernel size decreased from 39MB to 34.9MB from the debloating the kernel! [Truth to be told the Lightest Kernel on XDA & Outside XDA]
  • WireGuad using the latest version always
  • GFS - Gentle Fair Sleepers options provided to have more battery life
  • Added MoroSound! because many requested it
  • Initial support for Nethunter users
  • Optimized GPU futher by speeding up rendering frames to the display driver
  • Disabled some security options that reported it might slow down kernel operation upto 30% [Thanks @arter97!]
  • Added/Implemented UKSM
  • Brought a collection of Paranoid Android & Xiaomi patches to our beloved Note9 devices
  • Tuned UFS net boost table
  • Fixed CPUSet driver & updated block core for faster operations
  • Optimized block driver that should help shaving off a few cycles of the I/O hot path
  • Added SIMD & VSDO Technology
  • Added Power suspend driver and integrated it to display driver
  • Improve event-poll driver which make wakelocks less likely to happen
  • Improved/Optimized hrtimer, alarmtimer, timers drivers
  • Added Spinlocks, Qspinlocks, RWLocks, QRwlock, Atomic drivers & updated it
  • Added Dynamic Fsync driver and made it available with normal Fsync driver
  • Introduce CPUSet Assist driver for optimized multitasking
  • Optimized Dcache & ARM driver to improve cache-line alignments performance
  • Optimized CGroup to have a dedicated kmem_cache pool and avoid costly dynamic memory allocations.
  • Added Sweep2wake, Doubletap2wake and Sweep2sleep for Samsung Galaxy Note 9
  • CPU Input driver implemented and updated
  • Micro-optimizations for Ion driver, Binder, PCI Exynos drivers, hotplug driver,F-ECM driver.
  • CPU-Boost driver implemented and updated to the latest version including all kind of patches and updates from Sony,Xiaomi, and Nvidia
  • Dynamtic Shedtune driver implemented and updated it with the latest patches
  • Clean up garbage/unused codes from CPU governers
  • Optimized IO up to 34% improvement in the I/O latency.
  • Using Galaxy S10 + Note 10 HMP extracted drivers combined and implemented it to our be loved Note 9!
  • Introduced [Host Performance Booster] HPB driver from Pixel 3! & Adapted it to our Note9!! Please read below what HPB can do...
    [HPB is essentially caching of the NAND chip’s FTL (flash translation layer) L2P (logical to physical) mapping tables into the hosts (SoCs) main memory. This allows the host driver to look up the target L2P entry directly without betting on UFS’s limited SRAM to have a cache-hit, reducing latency and greatly increasing random read performance. The authors of the feature showcase an improvement of 59-67% in random I/O read performance due to the new feature. It’s worth to mention that traditional Android I/O benchmarks won’t be able to show this as as those tend to test read speeds with the files they’ve just created.]
    (Source of this info ---> Here)
  • Added Ainur audio driver for those who want to use DTS Audio mods
  • Applied PSI driver on RAM , CPU , IO Drivers... see what it does...
    [When systems are overcommitted and resources become contended, it's hard to tell exactly the impact this has on workload productivity, or how close the system is to lockups and OOM kills. In particular, when machines work
    multiple jobs concurrently, the impact of overcommit in terms of latency and throughput on the individual job can be enormous.
    In order to maximize hardware utilization without sacrificing individual job health or risk complete machine lockups, this patch implements a way to quantify resource pressure in the system.
    ]
  • Implemented AnyKernel Installer for the kernel so now Kernel will be flashed as a zip file! no more lockscreen/Samsung account issues (Make sure to clean install ROM if you have Samsung account issues)! [Big Thanks to @klabit87 for his awesome help! & @djb77 for his permission to use some of his scripts]
  • Updated Ramdisk to the latest build
  • Updated Kernel build base to the lastest available
  • Removed a lot of garbage code and cleaned it up
  • Updated lib lz4 modules from 2013 to 2018/2019 including all updates which makes it possible to enable applications to use fast and/or high compression depending on the use case
  • State notifier driver enabled
  • Linux Up streaming kernel updated to the latest always
  • Added IO governor & Updated to the newest version/patches:-
    -Anxiety
    -Maple
    -SIO
    -FIOPS
    -Marrow
    -Tripandroid
  • Implemented IO Switcher Driver (Taken from Oreo kernel) which will save more battery by switching IO Governor to 'Noop' when Screen Off and switch back to CFQ when is On for maximum battery and optimization + without need any user intervention... it does this automatically.
  • Fixed USB issues
  • Compiled it with GCC 10 with the latest updates applied & custom optimizations is used
  • Implemented FRANDOM
  • Fade Ramp Control
  • Compatible with DriveDroid
  • WireGuard Support
  • SELinux Permissive/Enforced
  • Boeffla WakeLock Blocker
  • Added Unstable Power Detection through HKTweaks app (Google it)
  • Using CPUAssist & StuneAssist
  • Implemented SchedUtilX CPU Gov and made it as default
  • Implemented Blu_schedutil CPU Gov
  • CPU Max Freq for LITTLE - Max Freq 2002MHz Min Freq - 455Mhz
  • CPU Max Freq for BIG - Max Freq 2946MHz Min Freq - 650Mhz
  • Sky's the limit.. OC'ed CPU Quad Core to 2.31Ghz & Dual Core to 2.5Ghz! [Default on stock kernel is 1.8GHz Quad & 2.3GHz Dual]
  • Implemented Power saving work-ques and made it optional for those who don't like power saving
  • Updated F2FS to the latest updates taken from Oreo!
  • CPU Input driver implemented and updated
  • Battery polling & NFS wakelock control
  • State notifier driver
  • SimpleLMK [Oreo feature for the moment]
  • GPU OC [Oreo feature for the moment]

And a lot more, that you need to find ;).

FDE.AI & L Speed & Nuked Script it's been tested for Zeus kernel & ROM and me as a Kernel Developer I officially support it. It is been tested for everything.. stability , performance and improved battery life ;)

Everyone give full support to those developers @Paget96 , @FeraVolt :fingers-crossed:
====================================================================================================
ZeusROM Q Version
For N960F/FD users:-
GoogleDrive Download Link:-
Download Link Here
Mega Download Link:-
Download Link Here

MD5:- a1d7cc2991435c74cf843b0ff468e70c

For N960N users:-
GoogleDrive Download Link:-
Download Link Here
Mega Download Link:-
Download Link Here

MD5:- aa656b105dfcf00a8e76e33e11b7beb4
====================================================================================================
Kernel Q Version
Here

Kernel Pie Version
Here

Telegram Link
mod edit - link removed

I recommend using Hktweaks app through this link.. it fully supports Zeus kernel :)
Here


Credits:-
Samsung Open Source Release Center for the Source code
Google for AOSP Common Kernel Source
@osm0sis for Android Image Kitchen
@klabit87 for his scripts :highfive:
@farovitus for ELS
@djb77 for scripts
@Anastasis Vasileiadis for his help to provide the needed changes for NetHunter to work :)
@Arteush for providing a proper scripts to get it working with all TWRP (Especially his own ones) :)
@Eamon for compile script
And every one that made Android a beautiful world! :fingers-crossed:

XDA:DevDB Information
Zeus Kernel, Kernel for the Samsung Galaxy Note 9

Contributors
azZA_09, Da-BOSS, All users on telegram group
Source Code: https://github.com/THEBOSS619

Kernel Special Features: F2FS, Custom CPU BUS, Debloated Code, Power Suspend Driver, CPU OC, CPU Bus Mods, Driver Mods, Pocket Judge Idle, GCC Mods, IO Switcher, UFS Mods, DynFsync, Host Performance Boost[HBP], HMP mods, Ainur Audio, SIMD & VSDO

Version Information
Status: Stable

Created 2019-08-28
Last Updated 2020-04-14
 
Last edited:

azZA_09

Senior Member
Jul 10, 2014
839
381
34
In your mind
Samsung Galaxy Note 20 Ultra
In order to Install the Kernel:
- Flash the Kernel in TWRP
- Flash Magisk

Recovery to be used - https://xdaforums.com/galaxy-note-9/development/recovery-twrp-galaxy-note-9-t3929901
Thanks a lot @Arteush and @yarpiin for your hard work!

Magisk to be used - https://xdaforums.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445 - (Beta Version)

When you want to report a bug, provide logcat, ROM, Kernel Version and a way to replicate the bug.
For logcat, use https://github.com/Tortel/SysLog
 
Last edited:

azZA_09

Senior Member
Jul 10, 2014
839
381
34
In your mind
Samsung Galaxy Note 20 Ultra
How To Convert To F2FS Without Losing Data

Notice -You MUST have TWRP F2FS compatible recovery


1 - Backup your [Data] partition and your [Internal Storage](if possible)

2 - Warning backing up [Data] partition doesn't include your internal storage files like (Images,Musics,Video,etc..)

3 - Once finished, Convert /Data & /Cache Partition to F2FS

4 - Go to TWRP settings.. and tick [] at [Use rm-rf instead of formatting]

5 - Restore your backup.

6 - Done!
 
Last edited:

karapoutsoglou

Senior Member
Sep 27, 2010
968
236
GB
meettomy.site
I have no words to describe this!!! Kernel is super fast, super smooth and the apps are opening in lighting speed! I can't believe what im seeing here. THANK YOU, THANK YOU!

Sent from my [device_name] using XDA-Developers Legacy app

---------- Post added at 10:45 AM ---------- Previous post was at 10:01 AM ----------

samsung account failed to sign me in. maybe check this out.

Sent from my [device_name] using XDA-Developers Legacy app
 
  • Like
Reactions: Da-BOSS and ALLDAT

azZA_09

Senior Member
Jul 10, 2014
839
381
34
In your mind
Samsung Galaxy Note 20 Ultra
I have no words to describe this!!! Kernel is super fast, super smooth and the apps are opening in lighting speed! I can't believe what im seeing here. THANK YOU, THANK YOU!

Sent from my [device_name] using XDA-Developers Legacy app

---------- Post added at 10:45 AM ---------- Previous post was at 10:01 AM ----------

samsung account failed to sign me in. maybe check this out.
What baseband. CSG5 or CSG2
 
  • Like
Reactions: ALLDAT and Da-BOSS
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 30
    Hello, XDA! Me and @Da-BOSS would like to publish the Ultimate Kernel - Zeus :victory: .
    Without too much hassle, let's see what this Kernel brings to our beloved Note 9.

    K4gqI3T.jpg

    Behold the wall of features

    Android Q kernel is based from Google sources Android-Q branch with applied on top of it Samsung's kernel sources.

    Since there is no more ELS repository for Android Q kernels.. I made a branch on the same repository on Github called [ZeusELS] which is purely a completely stock kernel with linux upstreamed always to the latest :angel: that's if anyone wanted to develop a new kernel from scratch ;) also.. ZeusELS is based from Google sources Android-Q branch with applied on top of it Samsung's kernel sources too ! :fingers-crossed:

    Download links are always at the end of this post

    ZeusROM Features for Android Q
    [*] It is just simply a replicate of DevBaseROM from @_alexndr but with more debloats and Zeus Kernel ready inside... just flash it and it is ready ;)


    Kernel Features for Android Q

    • Imported N960FXXS4DTA5 kernel sources
    • Used updated ramdisk N960FXXS4DTA5
    • The kernel is now compiled with GCC 10.0.1 along with LTO [Link Time Optimization] using the latest updates available for [isl,mpc,mpfr,zlib,etc..] GCC is self compiled with all kind of flags optimizations applied for maximum performance benefits and increase code quality
    • Using GCC LTO with all fixes and optimizations which leads to faster kernel operations and less kernel code bloating which will lead to less kernel size in which allows me to make room and use O3 kernel optimizations which will increase kernel size a little bit for results in significantly improved hackbench performance, which is a sign that overall performance in the kernel is improved. It works especially well in conjunction with LTO.
    • Implemented/Using [W.B.T.] Write Back Throttling driver which increases IO performance and smoothness of the kernel operating generally.. what it does is...
      [Enable throttling of buffered writeback to make it a lot
      more smooth, and has way less impact on other system activity.
      Background writeback should be, by definition, background
      activity. The fact that we flush huge bundles of it at the time
      means that it potentially has heavy impacts on foreground workloads,
      which isn't ideal. We can't easily limit the sizes of writes that
      we do, since that would impact file system layout in the presence
      of delayed allocation. So just throttle back buffered writeback,
      unless someone is waiting for it.]
    • Implemented hybrid poll mode With this hybrid scheme, we can achieve big latency reductions while still using the same (or less) amount of CPU.
    • Implemented various patches from 4.10/4.14/4.19 imported
    • Simple LMK! first in the history of Samsung smartphones with all updates and patches applied
    • Undervolted everything on the SOC from RAM,CPU,Camera,CPU Bus,etc..
    • Reduced SELinux expensive calls for audit and disabled entirely
    • Updated SchedUtil to the latest patches & updates
    • Updated SchedUtilX to the latest patches & updates
    • Implemented IOwait and Use it + Make IOwait boost more energy efficient
    • Re-adjusted Samsung values on nearly everything volts,battery,ram,etc..
    • Using the S10/N10 Values to our beloved Note9 for Exynos hotplugging drivers
    • Using CPU Assist driver and updated its values
    • Disabled all kind of Debuggings, loggings, tracings aggressively kernel size is under 30MB!
    • Boost DevFreq whenever a new frame kicks
    • Added PowerSuspend Driver which will help on battery saving extensively and integrated it to display driver
    • Using HTC's Fsync named [Asynchronous Fsync] and made it working as default for Note 9
    • Implemented Sched Yields to force sleep whenever it kicks in
    • Moved MMC driver to SCHED_FIFO thread to reduce the impact of
      load on IO performance.
    • Applied O3 compiling flags to Crypto drivers for increase performance
    • Tuned Up ALMK [Adaptive LowMemoryKiller] values and use it by default
    • Adapted and Implemented Force Reclaim driver from Lenovo and use it by default
    • Killed Samsung's poor RBIN memory management
    • Implemented CMA from Qualcomms devices and Use it as a replacment of Samsung's RBIN here what does it do..
      [CMA pages are designed to be used as fallback for movable allocations
      and cannot be used for non-movable allocations. If CMA pages are
      utilized poorly, non-movable allocations may end up getting starved if
      all regular movable pages are allocated and the only pages left are
      CMA. Always using CMA pages first creates unacceptable performance
      problems. As a midway alternative, use CMA pages for certain
      userspace allocations. The userspace pages can be migrated or dropped
      quickly which giving decent utilization.
      ]
    • Introduce and Implement and Use GCMA [Guaranteed Contiguous Memory Allocator] read below what it does..
      [While demand for physically contiguous memory allocation is still alive, especially in embedded system, existing solutions are insufficient. The most adapted solution is reservation technique. Though it serves allocation well, it could severely degrade memory utilization. There are hardware solutions like Scatter/Gather DMA and IOMMU. However,
      cost of these additional hardware is too excessive for low-end devices. CMA is a software solution of Linux that aims to
      solve not only allocation but also memory utilization problem. However, in real environment, CMA could incur unpredictably slow latency and could often fail to allocate contiguous memory due to its complex design. We introduce a new solution for the above problem, GCMA (Guaranteed Contiguous Memory Allocator). It guarantees not only memory space efficiency but also fast latency and success by using reservation technique and letting only immediately discardable to use the area efficiently. It shows 15 to 130 times faster and more predictable allocation latency without system performance degradation compared to CMA
      .]
    • Implement binderfs for Andorid IPC
    • Wakelock Blocker is used by default and it already blocks the needed wakelocks by default
    • Added DropCache feature which will help with memory management on the long run
    • Tuned Adaptive LMK to work Asynchronously
    • Implemented ZRAM Deduplication feature which will..save amount of memory usage by zram. Read below the benefits...
      [Android is one of the biggest users to use zram as swap and it's
      really important to save amount of memory usage. There is a paper
      that reports that duplication ratio of Android's memory content is
      rather high. And, there is a similar work on zswap that also
      reports that experiments has shown that around 10-15% of pages
      stored in zswp are duplicates and deduplicate them provides some
      benefits.
      ]
    • Implemented ZSWAP same-filled pages handling feature look below what does it do..
      [Zswap is a cache which compresses the pages that are being swapped out
      and stores them into a dynamically allocated RAM-based memory pool. This patch adds a check to identify
      same-filled page before compression of the page. If the page is a
      same-filled page, set zswap_entry.length to zero, save the same-filled
      value and skip the compression of the page and alloction of memory in
      zpool. Improvemnt in preformance varies between 19% ~ 32% increased performance in store time & 49% ~ 85% increased performance in loading time
      ]
    • Implement B-tree function and Made ZSWAP to Use it by default which will lead to the following IO bogo operations: * original: 73778.8 * btree: 393999
    • WireGuad using the latest version always
    • Added MoroSound!
    • Brought a collection of Paranoid Android & Xiaomi patches to our beloved Note9 devices
    • Tuned UFS net boost table
    • Speed up scatterlist to roughly a 2x performance gain & Speed up cache entry creation for mbcache2
    • Implemented some fucntions & drivers from 4.14 Kernel and use it on Note 9 [which have 4.9 Kernel]
    • Using Jump Lable on the kernel read below what does it do..
      [This option enables a transparent branch optimization that makes certain almost-always-true or almost-always-false branch conditions even cheaper to execute within the kernel.
      Certain performance-sensitive kernel code, such as trace points, scheduler functionality, networking code and KVM have such branches and include support for this optimization technique.
      If it is detected that the compiler has support for "asm goto", the kernel will compile such branches with just a nop instruction. When the condition flag is toggled to true, the nop will be converted to a jump instruction to execute the conditional block of instructions.
      This technique lowers overhead and stress on the branch prediction of the processor and generally makes the kernel faster.
      ]
    • Using Jump Lable Relative References on the kernel read below what does it do..
      [Reduce the size taken up by absolute references in jump label
      entries themselves and the associated relocation records in the
      .init segment, add support for emitting them as relative references
      instead.This reduces the size of the __jump_table by 33%, and
      gets rid of the RELA section entirely.
      ]
    • Improve ION cache accounting
    • Added Fingerprint Boost Driver
    • Low Memroy Killer features... LMK Fast RUN, OOM Reaper, Process reclaim
    • Updated ZRAM & ZSWAP with LZ4,ZSTD,LZO compression algorithm
    • Implemented Devfreq Boost driver and updated it... look below what it does
      "This driver boosts enumerated devfreq devices upon input, and allows for
      boosting specific devfreq devices on other custom events. The boost
      frequencies for this driver should be set so that frame drops are
      near-zero at the boosted frequencies and power consumption is minimized
      at said frequencies. The goal of this driver is to provide an interface
      to achieve optimal device performance by requesting boosts on key
      events, such as when a frame is ready to rendered to the display."
    • Introduced a centralized Energy Model (EM) management framework which aggregates the power values provided by drivers into a table for each performance domain in the system.
    • Using always the latest GCC 10 Build with LTO self compiled
    • Added battery Store mode [used to limit charging] advanced use only & Unstable power detection driver and made it optional through HKTweaks app (Google it)
    • Added battery charging control!! [The first on XDA & outside XDA]
    • Kernel size decreased from 39MB to 28~29MB from the debloating the kernel! [Truth to be told the Lightest Kernel on XDA & Outside XDA]
    • WireGuad using the latest version always
    • Added MoroSound! because many requested it
    • Optimized GPU futher by speeding up rendering frames to the display driver
    • Disabled security options that reported it might slow down kernel operation upto 30% [Thanks @arter97!]
    • Tuned UFS net boost table
    • Fixed CPUSet driver & updated block core for faster operations
    • Optimized block driver that should help shaving off a few cycles of the I/O hot path
    • Improve event-poll driver which make wakelocks less likely to happen
    • Improved/Optimized hrtimer, alarmtimer, timers drivers
    • Added Spinlocks, Qspinlocks, RWLocks, QRwlock, Atomic drivers & updated it
    • Optimized Dcache & ARM driver to improve cache-line alignments performance
    • Optimized CGroup to have a dedicated kmem_cache pool and avoid costly dynamic memory allocations.
    • Dynamtic Shedtune driver implemented and updated it with the latest patches
    • Clean up garbage/unused codes from CPU governers
    • Optimized IO up to 34% improvement in the I/O latency.
    • Removed a lot of garbage code and cleaned it up
    • Updated lib lz4 modules from 2013 to 2018/2019 including all updates which makes it possible to enable applications to use fast and/or high compression depending on the use case
    • State notifier driver enabled
    • Linux Up streaming kernel updated to the latest always
    • Applied PSI driver on RAM , CPU , IO Drivers... see what it does...
      [When systems are overcommitted and resources become contended, it's hard to tell exactly the impact this has on workload productivity, or how close the system is to lockups and OOM kills. In particular, when machines work
      multiple jobs concurrently, the impact of overcommit in terms of latency and throughput on the individual job can be enormous.
      In order to maximize hardware utilization without sacrificing individual job health or risk complete machine lockups, this patch implements a way to quantify resource pressure in the system.
      ]
    • Compiled it with GCC 10 with the latest updates applied & custom optimizations is used
    • Implemented FRANDOM
    • Fade Ramp Control
    • SELinux Permissive/Enforced
    • Boeffla WakeLock Blocker
    • Added Unstable Power Detection through HKTweaks app (Google it)
    • CPU Max Freq for LITTLE - Max Freq 2002MHz Min Freq - 455Mhz
    • CPU Max Freq for BIG - Max Freq 2946MHz Min Freq - 650Mhz
    • Sky's the limit.. OC'ed CPU Quad Core to 2.31Ghz & Dual Core to 2.65Ghz! [Default on stock kernel is 1.8GHz Quad & 2.3GHz Dual]
    • Implemented Power saving work-ques and made it optional for those who don't like power saving
    • Updated F2FS to the latest updates taken from Android-Q Google sources! needs ROM modifications to get F2FS working on /data partition
    • HMP is synced with Googles latest scheduler changes

    Kernel Features for Android Pie
    • Imported N960FXXU4CSK1 kernel sources
    • Used updated ramdisk N960FXXU4CSK1
    • Implemented Devfreq Boost driver and updated it... look below what it does
      "This driver boosts enumerated devfreq devices upon input, and allows for
      boosting specific devfreq devices on other custom events. The boost
      frequencies for this driver should be set so that frame drops are
      near-zero at the boosted frequencies and power consumption is minimized
      at said frequencies. The goal of this driver is to provide an interface
      to achieve optimal device performance by requesting boosts on key
      events, such as when a frame is ready to rendered to the display."
    • Taken SDCard drivers from Note10.
    • Introduced a centralized Energy Model (EM) management framework which aggregates the power values provided by drivers into a table for each performance domain in the system.
    • Possible fix for 1950Mhz to be forced to 2GHz
    • Added & enabled BBR tcp optimizations and networking operations optimizations... using fq_codel+bbr
      [Observed a significant increase in BBR throughput (measured using netperf), in a basic wifi setup.]
    • Implemented further more CPU optimization for power consumption from Nvidia!! to Enhance power efficiency and adapted it to our Note9 device
    • Using always the latest GCC 10 Build with LTO self compiled
    • Optimized UKSM function and KSM along with it
    • Add ROW scheduling algorithm & ROW driver... mechanism of it is...
      [The ROW scheduling algorithm will be used in mobile devices as default
      block layer IO scheduling algorithm. ROW stands for "READ Over WRITE"
      which is the main requests dispatch policy of this algorithm.
      The ROW IO scheduler was developed with the mobile devices needs in
      mind. In mobile devices we favor user experience upon everything else,
      thus we want to give READ IO requests as much priority as possible.
      The main idea of the ROW scheduling policy is:
      If there are READ requests in pipe - dispatch them but don't starve
      the WRITE requests too much.
      ]
    • Added battery Store mode [used to limit charging] advanced use only & Unstable power detection driver and made it optional through HKTweaks app (Google it)
    • Added battery charging control!! [The first on XDA & outside XDA]
    • Made automated driver for read-ahead size decision when inserting any OTG/USB external storage on the device to optimize file processing performance.
    • Kernel size decreased from 39MB to 34.9MB from the debloating the kernel! [Truth to be told the Lightest Kernel on XDA & Outside XDA]
    • WireGuad using the latest version always
    • GFS - Gentle Fair Sleepers options provided to have more battery life
    • Added MoroSound! because many requested it
    • Initial support for Nethunter users
    • Optimized GPU futher by speeding up rendering frames to the display driver
    • Disabled some security options that reported it might slow down kernel operation upto 30% [Thanks @arter97!]
    • Added/Implemented UKSM
    • Brought a collection of Paranoid Android & Xiaomi patches to our beloved Note9 devices
    • Tuned UFS net boost table
    • Fixed CPUSet driver & updated block core for faster operations
    • Optimized block driver that should help shaving off a few cycles of the I/O hot path
    • Added SIMD & VSDO Technology
    • Added Power suspend driver and integrated it to display driver
    • Improve event-poll driver which make wakelocks less likely to happen
    • Improved/Optimized hrtimer, alarmtimer, timers drivers
    • Added Spinlocks, Qspinlocks, RWLocks, QRwlock, Atomic drivers & updated it
    • Added Dynamic Fsync driver and made it available with normal Fsync driver
    • Introduce CPUSet Assist driver for optimized multitasking
    • Optimized Dcache & ARM driver to improve cache-line alignments performance
    • Optimized CGroup to have a dedicated kmem_cache pool and avoid costly dynamic memory allocations.
    • Added Sweep2wake, Doubletap2wake and Sweep2sleep for Samsung Galaxy Note 9
    • CPU Input driver implemented and updated
    • Micro-optimizations for Ion driver, Binder, PCI Exynos drivers, hotplug driver,F-ECM driver.
    • CPU-Boost driver implemented and updated to the latest version including all kind of patches and updates from Sony,Xiaomi, and Nvidia
    • Dynamtic Shedtune driver implemented and updated it with the latest patches
    • Clean up garbage/unused codes from CPU governers
    • Optimized IO up to 34% improvement in the I/O latency.
    • Using Galaxy S10 + Note 10 HMP extracted drivers combined and implemented it to our be loved Note 9!
    • Introduced [Host Performance Booster] HPB driver from Pixel 3! & Adapted it to our Note9!! Please read below what HPB can do...
      [HPB is essentially caching of the NAND chip’s FTL (flash translation layer) L2P (logical to physical) mapping tables into the hosts (SoCs) main memory. This allows the host driver to look up the target L2P entry directly without betting on UFS’s limited SRAM to have a cache-hit, reducing latency and greatly increasing random read performance. The authors of the feature showcase an improvement of 59-67% in random I/O read performance due to the new feature. It’s worth to mention that traditional Android I/O benchmarks won’t be able to show this as as those tend to test read speeds with the files they’ve just created.]
      (Source of this info ---> Here)
    • Added Ainur audio driver for those who want to use DTS Audio mods
    • Applied PSI driver on RAM , CPU , IO Drivers... see what it does...
      [When systems are overcommitted and resources become contended, it's hard to tell exactly the impact this has on workload productivity, or how close the system is to lockups and OOM kills. In particular, when machines work
      multiple jobs concurrently, the impact of overcommit in terms of latency and throughput on the individual job can be enormous.
      In order to maximize hardware utilization without sacrificing individual job health or risk complete machine lockups, this patch implements a way to quantify resource pressure in the system.
      ]
    • Implemented AnyKernel Installer for the kernel so now Kernel will be flashed as a zip file! no more lockscreen/Samsung account issues (Make sure to clean install ROM if you have Samsung account issues)! [Big Thanks to @klabit87 for his awesome help! & @djb77 for his permission to use some of his scripts]
    • Updated Ramdisk to the latest build
    • Updated Kernel build base to the lastest available
    • Removed a lot of garbage code and cleaned it up
    • Updated lib lz4 modules from 2013 to 2018/2019 including all updates which makes it possible to enable applications to use fast and/or high compression depending on the use case
    • State notifier driver enabled
    • Linux Up streaming kernel updated to the latest always
    • Added IO governor & Updated to the newest version/patches:-
      -Anxiety
      -Maple
      -SIO
      -FIOPS
      -Marrow
      -Tripandroid
    • Implemented IO Switcher Driver (Taken from Oreo kernel) which will save more battery by switching IO Governor to 'Noop' when Screen Off and switch back to CFQ when is On for maximum battery and optimization + without need any user intervention... it does this automatically.
    • Fixed USB issues
    • Compiled it with GCC 10 with the latest updates applied & custom optimizations is used
    • Implemented FRANDOM
    • Fade Ramp Control
    • Compatible with DriveDroid
    • WireGuard Support
    • SELinux Permissive/Enforced
    • Boeffla WakeLock Blocker
    • Added Unstable Power Detection through HKTweaks app (Google it)
    • Using CPUAssist & StuneAssist
    • Implemented SchedUtilX CPU Gov and made it as default
    • Implemented Blu_schedutil CPU Gov
    • CPU Max Freq for LITTLE - Max Freq 2002MHz Min Freq - 455Mhz
    • CPU Max Freq for BIG - Max Freq 2946MHz Min Freq - 650Mhz
    • Sky's the limit.. OC'ed CPU Quad Core to 2.31Ghz & Dual Core to 2.5Ghz! [Default on stock kernel is 1.8GHz Quad & 2.3GHz Dual]
    • Implemented Power saving work-ques and made it optional for those who don't like power saving
    • Updated F2FS to the latest updates taken from Oreo!
    • CPU Input driver implemented and updated
    • Battery polling & NFS wakelock control
    • State notifier driver
    • SimpleLMK [Oreo feature for the moment]
    • GPU OC [Oreo feature for the moment]

    And a lot more, that you need to find ;).

    FDE.AI & L Speed & Nuked Script it's been tested for Zeus kernel & ROM and me as a Kernel Developer I officially support it. It is been tested for everything.. stability , performance and improved battery life ;)

    Everyone give full support to those developers @Paget96 , @FeraVolt :fingers-crossed:
    ====================================================================================================
    ZeusROM Q Version
    For N960F/FD users:-
    GoogleDrive Download Link:-
    Download Link Here
    Mega Download Link:-
    Download Link Here

    MD5:- a1d7cc2991435c74cf843b0ff468e70c

    For N960N users:-
    GoogleDrive Download Link:-
    Download Link Here
    Mega Download Link:-
    Download Link Here

    MD5:- aa656b105dfcf00a8e76e33e11b7beb4
    ====================================================================================================
    Kernel Q Version
    Here

    Kernel Pie Version
    Here

    Telegram Link
    mod edit - link removed

    I recommend using Hktweaks app through this link.. it fully supports Zeus kernel :)
    Here


    Credits:-
    Samsung Open Source Release Center for the Source code
    Google for AOSP Common Kernel Source
    @osm0sis for Android Image Kitchen
    @klabit87 for his scripts :highfive:
    @farovitus for ELS
    @djb77 for scripts
    @Anastasis Vasileiadis for his help to provide the needed changes for NetHunter to work :)
    @Arteush for providing a proper scripts to get it working with all TWRP (Especially his own ones) :)
    @Eamon for compile script
    And every one that made Android a beautiful world! :fingers-crossed:

    XDA:DevDB Information
    Zeus Kernel, Kernel for the Samsung Galaxy Note 9

    Contributors
    azZA_09, Da-BOSS, All users on telegram group
    Source Code: https://github.com/THEBOSS619

    Kernel Special Features: F2FS, Custom CPU BUS, Debloated Code, Power Suspend Driver, CPU OC, CPU Bus Mods, Driver Mods, Pocket Judge Idle, GCC Mods, IO Switcher, UFS Mods, DynFsync, Host Performance Boost[HBP], HMP mods, Ainur Audio, SIMD & VSDO

    Version Information
    Status: Stable

    Created 2019-08-28
    Last Updated 2020-04-14
    15
    New Stable Kernel Update Got Released! Many Changes & Optimizations... Check it OUT! ;) :)
    14
    Finally after a long kernel development and sufferings on real life (which is the reason why kernel development has paused for a while) I represent you a major kernel update for Andorid Q.. something that no other kernel developer could have done it, surpassing much more of optimization & tweaks that I have done it on Andorid Pie, Oreo.

    A full of features & explanations is on the main XDA OP thread and the changelogs you will always see it on the download link from now on as usual...

    Currently ZeusROM is still under experimentation if you even wanted to use it, Join us on Telegram group ... the invite link is on the Main XDA Post thread.

    Enjoy and Thank you for your patience :)
    14
    Finally after many experimenting and bug fixes... I am confident enough to release Beta of ZeusROM and Zeus Kernel to the public + I recommend if you plan to use Zeus Kernel.. to use ZeusROM along with it since I made sure that it will be optimized & issues free experience & always tested.

    As we are close to non-samsung kernel now... we are at the edge of going outside of Samsung's field and with that.. ROM needs small modification about that so... I have made newer ZeusROM version along with Zeus kernel each have one is made for N960F/FD and N960N seperately so that N960N users can also use ZeusROM without problems. Please.. logs are very important and very helpful either through telegram group or PMs.. all are being looked & analyzed.

    At the end... sorry for not being able to respond to messages on telegram group or XDA.. pretty much due to the situation of corona and stuff.. I rarely find time to even open telegram or XDA and I mostly commit my time to kernel/rom development, Thank you for your patience. :)
    13
    Soon enough there will be a Zeus ROM along with Zeus Kernel inside for best issue free experience :) Zeus ROM will be basically based upon on DevBase ROM for maximum & best stability experience and through time more & more features will be added to ROM with the same treatment as Zeus Kernel :)