Releases: THEBOSS619/Note9-Zeus-Pie9.0
Stable Pie Kernel for Note9
Stable Pie Kernel Release
THEBOSS-Zeus Kernel 2.3.107
Changelog:-
- Reverted arch power & GFS
- Fixed Samsung Kernel Sources CSK1
- Tuned up Exynos Chipsets
- Updated WireGuard to the latest version available
- Applied SPay Fix
- Added wakelock toggles for BT,SSP,GPS,WIFI,Battery,NFC with fine controlling the polling on Battery and NFC
- Reworked again CIB and drivers
- Updated Linux to 4.9.207
- Removed debuggings from the kernel and cleaned them up
- Made tweaks and optimizations for CIB and Stune drivers
- Enabled ZBUD for x2 compression performance
- Enabled Z3FOLD for x3 compression performance
- Fixed the problems that was introduced from Linux 4.9.206 update
- Fixed little cores going to 1950MHz after heavy cores and force it to be always 2002Mhz
- Boost DDR bus on zygote fork when launching an App
More improvements will be made for DM-Crypt driver in the future
Stable Pie Kernel for Note9
THEBOSS-Zeus Kernel 2.3.106
- Use the latest kernel samsung sources and Ramdisk N960FXXU4CSK1
- Removed logging's that Linux community add to ext4 & f2fs
- Updated Linux to 4.9.206
- Improved CIB coding and re-factorized
- Improved DB coding and re-factorized
- Improved CB [CPU Boost] -NOT CIB- by Reducing this interval allows us to not drop to lower frequencies during scrolling
- Improving SchedTune boost coding and re factorized
- CIB Only update CPU policy for one CPU in each cluster rather than updating all CPU for nothing
- Silence console suspend log messages
- Disable CONFIG_SECCOMP and CONFIG_SECCOMP_Filter which leads to more performance at the expense of less security.. but who cares... if you want security... you shouldn't root your device on the first place! due to disabled CONFIG_SECCOMP This results in a 37% improvement in simple syscall speeds (such as clock_gettime) from within apps. Tests below proved disabling it provides performance boost
Average before: 183.7 ns per call
Average after: 115.7 ns per call - Added Arch Power and GFS options
- Fix for Arch power for possible freezing
- Showed Samsung how noob they are on developing kernels... this line is enough to show how they are intended to make Samsung devices unusable on long term..
- Adapt most of the drivers that depended on state_notifier to display state driver.Advantages are.. Less contention & less dependent to atomic operations. Improving display detection by simplifying calling paths directly to the display drivers. Removed useless functions & code due to simplicity of display state driver. Removed devfreq_boost from decon core.. not needed after those tweaks and improvement.
- 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.
- Optimize CIB,DB to Block max boosts while the screen is off
- Letting each type of boost modify the CPU policy directly, serialize the CPU policy updates through a master kthread to make the whole boost process cleaner, faster, efficient.
- Possible fix for 1950Mhz to be forced to 2GHz
- Fix the IRQ affinity mask deception by forcing it to only contain one set CPU.
- Ignore wake boost requests if the screen is on to conserve power in such situations.
- Improved 10% of throughput for sequential write workload.
- Make the process holding the node, which can in turn decide whether it wants to shut down to reduce resource usage.
- Improve code quality
- Remove additional tracings added by CAF on ext4 FS
- Prevent a possible race condition in theory as well as cleaning up the code for CIB and prevents unnecessary boosting when services and/or content providers start in the background to perform jobs while the device is not actively being used.
- Silence console suspend log messages... Useless and clutters up logs.
- Use faster alternatives when constant arguments are used
FDE.AI & L Speed has been tested for Zeus kernel and I officially support.
Stable Pie Kernel for Note9
THEBOSS-Zeus Kernel 2.3.105
Changelog:-
- Optimized touchscreen driver
- Fixed state notifier driver that causes screen freeze and possible random reboots
- Fixed display driver and displayport_edid driver due to updated to linux 4.9.203
- Removed useless debugging from state notifier driver
- Preparing the kernel for the next big optimization for GCC & optimization flags
- Fixed a possible bug reported by @Erwan_N960F
- Tweaks with config FS (File System)
- Updated to Linux 4.9.201 to 4.9.202 to 4.9.203 to 4.9.204 to 4.9.205
- Introduce per-process mm event tracking feature
- Improved by about 10% in average. For the apps which have more than 50 threads, 15% or even more improvement.
- Sleep between retries in cma_alloc on the CMA allocation path we do 2 retries, with sleeps, to give the system an opportunity to unpin any pinned pages.
- Tweaks & optimization for vmscan driver
- 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.] - Rework CIB [CPU Input Boost] with Dynamic SchedTune Boost... the information of what it does..
[Dynamic SchedTune Boost occurs on-the-fly during interactions, such as touch input. This idea was conceived because of an existing battery drain issue whereby setting a permanent schedtune boost would cause boosting to occur even when the phone was idling. For example, if a user sets the /dev/stune/top-app/schedtune.boost to 10, the device may not idle at the lowest frequency step, which can lead to higher idle and active drain rates. Thus it should consume less power to boost only during interactions.] - Updated WireGuard version to [0.0.20191127]
- Refactorize Dynamic SchedTune Boost driver
- Optimization everywere ... I can't mention them all..
Stable Pie Kernel for Note9
Stable Pie Kernel Update!
THEBOSS-Zeus Kernel 2.3.101
Changlog:-
- Used updated ramdisk N960FXXU3CSJ4.
- Fixed possible UAF when freeing buffer on binder driver.
- Replaced seq_printf on seq_putc to speed up /proc/pid/smaps operations.
- Optimized single-symbol delimiters to spead up seq_put_decimal_ull.
- Replaced seq_printf by seq_put_smth to speed up /proc/pid/status.
- Added Accelerated CRC32 routines which is wired up to the crypto API internally so that the optimal driver is selected based on the platform's capabilities.
- Improve CRC32 performance.
- Optimized EXT4 by disabling noatime on kernel sources which will improve ext4 driver processing and operation generally.
- Introduce a driver to dynamically control EAS behavior globally, This is only meant to replicate pixel's powerHAL behavior. Default is turned false as Google recommends turning it off for boot proccess only, but after that it gets enabled automatically.
- Dynamically control ENERGY_AWARE driver for CPU Input Boost [CIB] ... it means it gets controlled automatically without user intervention.
- Fixed Nethunter functionality for the USB drivers.
- Updated Linux to 4.9.201.
- Optimized Touchscreen driver.
- Optimized idle scaling algorithm.
- Fixed possible bug that caused boosting during screen off.
- Optimized boosting decisions.
- Optimized CPUFreq bias small/big cores.
- Optimized scaling freq to fast ramp-up on bursts of workload.
- Initialize Devfreq boost when under high memory workload.
- 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.
- 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.
-Host1 (sender on ethernet) -> AP -> Host2 (receiver on wifi)
-2.4 GHz -> BBR before: ~73 Mbps; BBR after: ~102 Mbps; CUBIC: ~100 Mbps
-5.0 GHz -> BBR before: ~362 Mbps; BBR after: ~593 Mbps; CUBIC: ~601 Mbps
Also, this code is running globally on YouTube TCP connections and produced
significant bandwidth increases for YouTube traffic.
| pfifo_fast | fq_codel | cake + ack-filter | cake + ack-filter-aggressive
----------------+------------+----------+-------------------+-----------------------------
Download (mbps) | 144.67 | 171.33 | 162.33 | 149.33
Upload (mbps) | 6.79 | 7.25 | 6.92 | 6.94
Speeds averaged across 3 runs of the official Speedtest.net app for
Android. The same server was selected manually on each run.
Wi-Fi setup: 802.11ac, 5 GHz, VHT80, channel 108 (DFS)
Full result spreadsheet: https://docs.google.com/spreadsheets/d/1YzZJkxgij-KARvgwpKd98UVEdgbAynWLq-Y3lxRLkBg/edit]
- Improved WIFI aggregation and queues
- A series of patchs avoids some atomic operations which decreases CPU load when Under very high TX stress, CPU handling NIC TX completions can spend considerable amount of cycles when handling TSQ so... this patch decrease workload on CPU
- Implemented further more CPU optimization for power consumption from Nvidia!! to Enhance power efficiency and adapted it to our Note9 device
- Improved JIT with BPF which resulted to decent decreases on errors... tests are here...
[No JIT: [ 3751.855362] test_bpf: Summary: 311 PASSED, 0 FAILED, [0/303 JIT'ed]
With JIT: [ 3573.759527] test_bpf: Summary: 311 PASSED, 0 FAILED, [303/303 JIT'ed]] - Optimization on UFS drivers by making it async.. which improves resume latency by around 20 ms, and helps with decreasing suspend times as well.
- Imported dm bufio driver from Google and adapted to our Note9
- Using the latest GCC 10 11/11/2019 Build with LTO self compiled
- Possible fix for little cores going to 1.95GHz after heavy load rather keeping it to 2.0Ghz
Stable Pie Kernel for Note9
Stable Pie Kernel Update!
THEBOSS-Zeus Kernel 2.3.98
Changlog:-
-
Using the latest GCC 10 available with patches
-
Using updated ramdisk N960FXXU3CSI4
-
Updated to 4.9.198
-
Optimized Touchscreen driver.
-
Optimized idle scaling algorithm.
-
Fixed possible bug that caused boosting during screen off.
-
Optimized boosting decisions.
-
Optimized CPUFreq bias small/big cores.
-
Optimized scaling freq to fast ramp-up on bursts of workload.
-
Initialize Devfreq boost when under high memory workload.
-
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 and Implemented it to our beloved Note9
-
Optimizations on sound,net,power supply drivers
-
Improved ION driver and removed debugging deeply
-
Removed debugging/logging from USB,eCryptfs,SCTP and many more
-
Optimized UKSM function and KSM along with it
-
Re-apply an improved driver of mbcache2 which cache entries are now considerably
smaller (7 instead of 13 longs), the code is considerably smaller as
well (414 vs 913 lines of code), and IMO also simpler. The new code is
also much more lightweight. The new code is faster in pretty much all the cases and
starting from 4 processes there are significant gains with the new code
resulting in upto 20-times shorter run-times. -
mbcache2 Speed up cache entry creation
-
Improve scatterlist operation that this yields roughly a 2x performance gain.
-
Removed fp16 as per @Spektykles recommendations
Stable Pie Kernel for Note9
Stable Pie Kernel Update!
THEBOSS-Zeus Kernel 2.3.97
Changelog:-
- Updated to 4.9.197
- Additional preparation on kernel source code to use DragonTC CLANG 9 along with GCC 10
- Using currently GCC 10.0.0 Updated to [14-10-2019] patches + crosstool-NG-1.24.0.37-3f461da updated-(Reverted for now)
- Optimizations on Bluetooth drivers,WIfi,MOdem
- Optimizations on GPU,Input drivers and itmon exynos
- Optimizations on USB drivers,EcryptFS and reiserFS
- Optimizations on Net-filter drivers, TCP and ethernet
- Optimizations on ACPI, MTD and SCSI Drivers
- Optimizations on all over the place by converting strlen to DSTRLEN optimizations
- 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.]
- Enable battery Store mode [used to limit charging] advanced use only
- Optimized memory resources [giving another method to platform for using memory efficiently.]
- Added PageWaiters drivers [This improves the performance of page lock intensive micro-benchmarks by
2-3%.] - Updated F2FS from Oreo & F2FS Linux Comunity
- Undervolted the whole device [NFC,CAM,RAM,MMC,CPU,etc..]
- A possible fix for NetHunter Users for (Monitoring Mode)
- Updated RCU drivers
- dtc driver reduced spam/loggings
- Cleaned up the kernel code little bit after Linux update 4.9.197
- There is so much more optimizations are coming... stay tuned!!
Stable Pie Kernel for Note9
Stable Pie Kernel Update!
THEBOSS-Zeus Kernel 2.3.96
Changelog:-
- Added unstable power detection driver and made it optional thruogh HKTweaks app (Google it)
- Added Marrow IO Scheduler
- Updated to 4.9.195 and to 4.9.196! Linux was fast those couple of days on releasing update
- Added possibility of using NetHunter (Not all features works but gonna be fixed later)
- Implemented Stune Assist
- Provided a performance tweaks for VSDOd drivers
- Enabled NEXT_BUDDY Sched Features which will increases cache locality
- Cleaned out Sched debugging code!
- An pre preparation on kernel source code to use DragonTC CLANG 9 along with GCC 10
- Removed loggings from Exynos drivers
- Implemented CPU Assist driver
- Removed loggings from SCSI drivers
- Refactor cpuset assist driver code for improved functionality
- Using Andrei's Cost and Idle tables [No Body knows better than him... NO BODY!]
- Sky's the limit.. OC'ed CPU Quad Core to 2.31Ghz & Dual Core to 2.5Ghz!
- Adapted Andrei's percentage costs using his tweaks to adapt those speedy CPU
- Adapted Idle Costs from Andrei's
- Tweaked freqvar to make suitable with OC'ed CPU speed
- Cleaned up the kernel code little bit after Linux update 4.9.196
- There is so much more optimizations are coming... stay tuned!!
Stable Pie Kernel for Note9
Stable Pie Kernel Update!
THEBOSS-Zeus Kernel 2.3.94.1
Changelog:-
- Updated Kernel sources to N960FXXU3CSI3
- Added fixed binder driver from previous linux upstreams
- Gave back a freedom of choice for those who want to choose enforced or permissive
- Fix a bug causing Samsung Pay won't work
- Made zip installer more simple.. flash n go method
- Giving back freedom of choice to the users to flash there own magisk version rather than forcing to use specific magisk version
Stable Pie Kernel for Note9
Stable Pie Kernel Update!
THEBOSS-Zeus Kernel 2.3.94
Changelog:-
- Optimized further the GCC compiler to use more aggressive optimizations for the kernel operations & cleaner working code & improved code size.
- Added battery charging contro!! the first on XDA and outside xda
- Made automated driver for readahead size decision when inserting any OTG/USB external storage on the device to optimize file processing performance
- Micro-optimizations for Ion driver, Binder, PCI Exynos drivers, hotplug driver,F-ECM drivers
- 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.] - Added Ainur audio driver for those who want to use DTS Audio mods
- Frandom driver implemented which will improve Entropy Pool
- Linux Updated/Upstreamed to 4.9.194
- Cleaned up the code after Linux update
Stable Pie Kernel for Note9
Stable Pie Kernel Update!
THEBOSS-Zeus Kernel 2.3.93
Changelog:-
- Moved to more appropriate zip file to prevent any further Samsung account issues or lock screen [Thanks @djb77 ] for his permissions!
- Updated realtek driver from v2.10.00 (2018/03/16) to v2.12.0 (2019/04/29)
- Optimized DMA-Buff further more to avoid the overhead of dynamic memory allocation.
- Use the latest GCC-10 (13-09-2019)
- Made the kernel to force always permissive but return enforcing cosmetically
- Disabled useless FS drivers
- Added Sweep2wake, Doubletap2wake and Sweep2sleep for Samsung Galaxy Note 9
- Added IO Gov. [FIOPS & SIO] + Enabled them
- Updated FIOPS & SIO to the latest versions with the latest patches
- Linux Updated/Upstreamed to 4.9.193
- Cleaned up the code after Linux update
- Removed alot of garbage codes & cleaned them up deeply!
- Kernel size decreased from 39MB to 34.9MB from the debloating the kernel! [Truth to be told the Lightest Kernel on XDA & Outside XDA]