[Google Pixel 6 Pro] Freak07:
Update to 4.4.2

Hey guys and girls,

So here´s the next release. February source did basically not contain anything new for this kernel (as all patches were already included since months due to merging linux-stable and kernel/common in advance) except a stability and a security fix for the GPU driver (which is vendor specific so of course not impacted by linux-stable etc).

Nonetheless this is a very big release with large underlying changes.

Short explanation follows below.

Please note that this release is not for the QPR Beta firmware, but the stable android 13 firmware!

Some links in the following changelog point to posts on the Pixel 7 Pro thread. This is fine, the patches are the same.

Maple Tree / Per VMA-locks via Maple Tree in RCU-Mode

Linux 6.1 finally merged the Maple Tree patchset. I had my eyes on that patchset for quite a while now. I backported it a few months ago (back in november iirc) but at that time I still ran into a few problems with it so it never made it into a release on XDA.

However after discovering work done on per vma-locks, which builds directly on the benefits that maple-tree provides interest was sparked again. Decided to pull it in again and fix the remaining issues.

If you´re interested in details read the linked topics.

Basically those patches reduce app launch time as well as lock contention. Additionally per vma-locks directly utilizes lazy-rcu, which was backported in 1.1.0. Usually I´m very hesitant when it comes to kernel changes actually translating to real world power consumption improvements, but lazy-rcu is one of the few patchsets that translate to a small improvement for everyone regardless of the usage.

So the new per VMA-lock patchset directly benefits from the previous backport of lazy-rcu.

App launch times in ms for cold launching slack app with and without the Per-VMA lock patchset on GS201 (tensor2):

F2FS block_age-based extent cache

Latest f2fs-stable update contained an interesting new feature called block_age-based extent cache. It´s another optimization done in hindsight to android needs. It´s always nice to see different OEMs (in this regards xiaomi) cooperating and improving android as a whole and not just keep those patches to themselves. Since it´s pushed to f2fs-stable it will sooner or later (probably rather later as trickling through until it ends up on actual production devices always takes a lot of time) find its way to the majority of android devices.

The features allows to record data block update frequency of the extent per inode, in order to provide better temperature hints for data block allocation thereby improving the accuracy for data temperature classification and reducing the garbage collection overhead after long-term data updates.

Memory Interface Controller Boosting

Boost Memory Interface Controller slightly to a fixed min_freq value during interaction, instead of relying solely on the governor taking the decision as it doesn´t ramp up fast enough during interaction in some cases.

Research of exynos/tensor characteristic shows that the SOC does not perform optimally when cpu freqs ramp up quickly (during interaction, scrolling, touch the screen) and memory interface controller not following suite quite fast enough. This makes the soc overall perform less efficient. The boost aims to correct this behavior.

The boost also results in a tiny few less missed frames during interaction as a bonus.

There are other small improvements as well. Please check my github for those.

The kernel is made for stable A13 firmware, not beta.

I wish everyone a nice day.

Changelog:

- Linux-Stable bumped to 5.10.167

- Backport Maple tree from Linux 6.1

- Per VMA-locks in conjunction with Maple Tree RCU-Mode (this benefits greatly from lazy rcu!)

- bump f2fs to latest f2f2 stable state

- merge and enable f2fs block_age-based extent cache (improve the accuracy for data temperature classification, reduce the garbage collection overhead after long-term data updates)

- improvements to the scheduler from QPR2 Beta 2 and Beta 3

- improvements to memory management from QPR2 Beta 2

- improve ZRAM usage

- boost memory interface controller during interaction (decreased missed frames, improved soc efficiency according to google docs)

- fixes/improvements to to memory management

- security fixes/ improvements from kernel/common

- other fixes please check github

Download:

Attached to release post as AFH is currently down.

Make sure to not delete and keep the powerhint ak3 module installed via Magisk Manager after flashing!

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

Make sure to meet the requirements and read the OP as well as the FAQ before flashing.

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