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