[Google Pixel 6 Pro] Freak07:
Update to 2.3.0

Hey guys and girls,

Here´s a small update for the original 2.3.0 update. The only changes are done to the scripts that setup the device during boot and a small adjustment to the powerhal to better integrate the PMU limit feature.

If you flashed the kernel.zip via a kernel manager app:

Re-Uploaded 2.3.0 to androidfilehost. Just redownload and reflash the zip and you´re good to go.

user following the manual installation method:

just download the new powerhint module and flash via magisk manager if you´re already running 2.3.0. Otherwise follow the instructions.

Previous changelog included for reference.

Alright here´s the next update. It´s a major one. I want to put it out shortly before we hopefully receive the next monthly security update on Monday kinda as a final rehearsal.

This kernel is made for stable Android 12.1.0 April firmware. Not QPR Beta or A13 Beta!

Once I find enough time or QPR beta gets updated, I might update the QPR beta release. No plans to support A13 beta.

A few changes from A13 Beta are merged to the kernel so we can enjoy the improvements on A12 already. Most of them aim to improve the scheduler and task placement.

A13 Beta source contains a commit that can restrict max-cpufreqs based on PMU reading. I setup this mechanism to mildly cut back max-freqs when they aren´t needed. It works quite well so far, with no performance impacts during scenarios where max cpufreq is beneficial. (e.g. app launching, camera launching etc)

Tasks of rt, sf and ta groups are now biased to start on high capacity CPUs during app launches, interactions etc.

As usual, depending on your usage you may or may not notice a difference during these scenarios. :)

While tracing I noticed kswapd often takes 100% cpu share when reclamation is happening. Since we use an 8 core cpu, an additional kswapd thread is being spawned during boot, which increases throughput for kswapd in these scenarios.

DAMON patch-series is included to this release as it was merged to kernel/common. It includes DAMON-reclaim. You can read more about it here.

This feature is currently disabled by default on this kernel. If you want to use it you can tune it to your liking as per the documentation linked above.

The feature can be enabled via:

echo 1 > /sys/module/damon_reclaim/parameters/enabled

I think Google might start to use it in the not so far future, but for now it´s disabled by default.

Disclaimer:

I´ll keep the warning as to preferably using magisk stable to avoid potential issues as well here in this post.

Please note that 24306 works fine for me though on non beta, stable April firmware!

Important:

Make sure you´re being rooted with magisk 24300 stable before flashing the kernel if you´re unsure. Any magisk version above 24303 might potentially lead to a reboot back to bootloader since android 12.1.0 and A12L QPR3 Beta. At the moment this only affects canary, but I put the warning just in case this will not get resolved in upstream magisk in time until the next stable drops. I saw a post that some modules also have problems with latest canary, so there´s a lot going on at magisk´s side at the moment.

A post containing a short write-up how to "downgrade" magisk can be found following this link.

If you´re one of the unfortunate ones that suffer from the device is corrupt bug on pixel 6 series please take a look at the FAQ at the beginning of this thread it contains a solution. The issue is probably caused by a bug that affects pixel 6 devices and has nothing to do with magisk or a kernel, it just happens to get triggered when using any of those.

Changelog:

- Linux-stable merged to 5.10.113

- Use prebuilt Google Clang 14.0.5 for compilation

- Utilize an additional kswapd thread to increase throughput for memory reclaim

- improvements from kernel-common a13 to page_pinner

- mainline backports for BFQ scheduler

- rework Multi-Gen LRU implementation

- merge DAMON to the kernel, which includes DAMON-Reclaim (this feature is not enabled by default, you need to enable it manually if you want to test)

- scheduler improvements for RT (realtime) tasks

- other scheduler improvements

- include scheduler improvements from A13 Beta regarding better task placement

- introduce and setup PMU limiter (prevents CPU from spiking to max when it isn´t needed, based on PMU reads)

- bias tasks of rt, sf and ta groups to prefer high capacity cpus during app launches, interactions, camera launches, etc

Download:

Downloads for : -Android- Generic Device/Other | AndroidFileHost.com | Download GApps, Roms, Kernels, Themes, Firmware and more. Free file hosting for all Android developers.

Download GApps, Roms, Kernels, Themes, Firmware, and more. Free file hosting for all Android developers.

www.androidfilehost.com

Instructions can be found in the OP! Please follow the instructions to avoid any issues and read this post carefully. Don´t use magisk canary 24303 or more recent to avoid potential issues!

If you´re coming from another kernel restore stock boot.img, dtbo.img, vendor_boot.img and vendor_dlkm.img before flashing. Thank you.

I wish everybody a great day/evening!

Have fun, enjoy the kernel and your phone.

If you like my work please consider a donation.

Donations are not mandatory but very welcome.

If you like my work and want to buy me a coffee/green tea: http://paypal.me/freak07