Development [Kernel][06.03.2024][Android 14.0.0]Kirisakura 2.2.0_Raviantah for Pixel 6/Pro aka "RAVIOLE"

Search This thread

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,039
May update is out. :)

no source update pushed from google yet. I guess it´ll happen in a few hours when I´ll be asleep.
I went ahead and flashed the latest release for stable 12.1.0 without any issues so far.

If you can´t wait, it should be fine to flash based on that short experience.

If you want to be absolutely sure there will be no issues due to incompatible source/firmware, I´ll try to update the kernel with any new potential changes in the source for May as soon as I find time, which will hopefully/probably be tomorrow if everything goes as expected. :)

I wish everybody a great day/evening.
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,039
Update to 2.4.0

Hey guys and girls,


Alright here´s the next update and it´s fine to flash on May firmware. As I suspected we already had all the changes for May by merging upstream.
I´ll include the changelog from 2.3.0 as well in this release post, since I think a lot of people flash the kernel on a monthly basis when the security updates drop. So this post pictures the changes going from 2.1.0 to 2.3.0! As I said 2.3.0 was kind of a final rehearsal to make sure everything is good for the May update.
I´ll put a remark behind changes going from 2.3.0 to 2.4.0.
This release is made for stable Android 12.1.0 May 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.

I also finished up the tables/graphs in regards to different binnings with the respective voltages on different tensor chips thanks to the dmesgs you all provided. I really want to put out a big thanks here to everyone for taking the time and participating. It was really great to see this kind of response.
I´ll provide them in a post in this thread soon.
So with that in mind we´ll get to the next paragraph were I could put those tables to good use.

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

However the recently dropped A13 Beta source contains a commit that can restrict max-cpufreqs based on PMU (Power monitor unit) reading. I setup this mechanism (lets call it "PMU Limiter") 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, interaction etcetc)
That means if a certain threshold is not crossed the max-freqs will be restricted to 1,4GHZ/1,6GHZ/2,4GHZ (for little/mid/big cores). As soon as the PMU detects enough pressure, those limits will be lifted.
The frequency limits are based on tracing during various scenarios, benchmarking and also factor in the voltage table I was able to create. For example: 2.4GHZ for the big cores is the last freq step where a steady linear increase in voltage can be seen. Freq steps higher than 2,4ghz have a steeper slope.
Keep in mind CPU-Freqs shouldn´t be touched in EXKM/FKM or other kernel managers. They are controlled by various mechanisms now (thermal hal, powerhal, pmu limiter etc) and values will get overwritten based on input.
That means if you open the CPU section in a kernel manager, the maxfreqs will not be the actual maxfreqs that are possible. or the minfreqs might be raised. That´s normal and there´s nothing wrong if that´s the case.

Additionally to the previous changes 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. Reasoning behind this can be found here.

The trusty driver which connects to the fingerprintreader hal uses now a high prio workqueue when the phone is unlocked via fingerprint scanner. This means better performance, especially under stress. Keep in mind this is a kernel level change, it won´t magically improve fingerprint reader times manifold.

DAMON and DAMON-Reclaim were removed from 2.3.0 going to 2.4.0. I tested the feature privately and it unfortunately collides with googles EH zram implementation causing the phone to crash at the moment. Tried to debug this issue, but no luck for the May release here.
If you previously enabled the feature without adjusting the parameters properly and your phone didn´t crash, DAMON-Reclaim just didn´t do anything.

2.4.0 also has an updated anykernel3.zip, which includes all the latest anykernel3 changes.
Thanks to @capntrips we now have full support to resize vendor_dlkm partition which is part of the super partition. That means we finally can flash larger than stock vendor_dlkm partitions via anykernel3.zips and resize the partition properly instead of just dd´ing to it.
A huge thanks to @capntrips for working on this and to @osm0sis for maintaining anykernel3.


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 May 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
- remove DAMON and DAMON-Reclaim from kernel build (2.4.0)
- improve trusty driver performance which connects to fingerprintscanner-hal by using high prio wq during fp unlock (2.4.0)
- mm improvements from kernel/common (2.4.0)
- improvements from kernel-common a13 to page_pinner
- mainline backports for BFQ scheduler
- rework Multi-Gen LRU implementation
- 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
- updated anykernel3.zip (thanks to @osm0sis) -> adds full support for resizing vendor_dlkm ( huge thanks to @capntrips )



Download:


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
 
Last edited:

scott.hart.bti

Inactive Recognized Developer
Mar 19, 2012
2,561
17,384
Reading
The speed at which you get your updates out blows my mind. You sir, are a machine! Thanks for the quick update!

Any chance you're going to revisit the DAMON and DAMON-Reclaim features? Sounds interesting and was looking forward to playing around with it a bit.
 
Last edited:

swieder711

Senior Member
Some folks are saying that Magisk 24306 is needed to root the May update. I see that Freak is using it too.

However, the release notes for 2.4 say "Make sure you´re being rooted with magisk 24300 stable before flashing the kernel if you´re unsure"

I am not sure which Magisk to use for the May update. Any more color to add?

thanks,
 
  • Like
Reactions: Freak07

bleez99

Senior Member
May 1, 2011
313
263
Nvidia Shield
Google Pixel 6 Pro
Some folks are saying that Magisk 24306 is needed to root the May update. I see that Freak is using it too.

However, the release notes for 2.4 say "Make sure you´re being rooted with magisk 24300 stable before flashing the kernel if you´re unsure"

I am not sure which Magisk to use for the May update. Any more color to add?

thanks,
I'm on 24.3 stable, works fine. Listen to the OP.
 

russian392

Senior Member
Apr 30, 2012
996
200
Simpsonville, SC
So I went from 13 beta 1 to 12.1 may update today, factory reset.
Skipped setting up my phone, installed magisk latest, patched the factory boot.img, flashed it, rebooted, installed the power zip thingy as a module through magisk, rebooted, then patched the kernel, downloaded the files and followed the manual install. After everything went through and I double checked my work, when rebooting the phone told me that the system won't boot and I need to do a factory reset. So I did, I assume this wiped the magisk module because although the phone reached the google loading screen with the sliding bar, it would never boot up. Trying a redo this time with --slot=all this time around. Not sure what is up, but if refuses to boot repeatedly even following the instructions, something is up.
EDIT: using --slot=all on either dtbo or vendor_boot breaks fastboot period and won't boot into fastbootd.
EDIT2: flashed stock dtbo and vendor boot, fastbootd worked, reflashed the custom dtbo and vendoor boot to slot b (that is what it defaulted to) and fastboot d is broken, again. What the actual F.
EDIT3: do people just not know how to write instructions these days? being vague and hoping people "just know" what to do is kind of stupid.
EDIT4: Flashed stock dtbo, patched stock boot, and stock vendor boot, phone boots.
EDIT5: Flashed without any modifications (fastboot flash xyz xyz.img) the kernel, dtbo, vendoor boot, and dlkm in d mode. Still pretty much useless. Loads recovery and says data may be corrupt try again/factory reset.

So in otherwords, 2 attempts, same problem using different methods. Looks like modern flashing has become such a sh*tshow that this is why no one roots anymore. Literally reflashed to full stock TWICE and redid the instructions TWICE and once using plain old logic, still bunk.

Flashing back to stock YET patched bootimg and stock vendor files boots fine...

So the problem is either A) magisk (which I made sure to not use the version listed, I have actually tried 1 version lower the first time), B) the power zip thingy...or C) the instructions.

EDIT6: After flashing back stock files, magisk still sees the power zip module no problem. I reinstalled it just incase.
EDIT7: Downloaded the latest magisk canary, we will see because 23000 only boots the stock kernel but not kiri.
EDIT8: Nope, latest magisk didn't work either, auto boots into bootloader mode.
EDIT9: I said screw it and got EXKM (I bought it long ago, thank goodness) and it won't work thorugh that either. Bootloops.
This release is botched if you are coming from stock and weren't running this before. What a freaking joke.

I kid you not I have been at this for 3 and a half hours and its all BS lmfao.

EDIT10: trying one more thing, installed the feb bootimg and letting it essentially try to boot after kiri bootloops with the exkm install. Then I will try to flash back to kiri
Yeah that didn't work, worse it just goes to bootloader and gives up
 
Last edited:

roirraW "edor" ehT

Forum Moderator
Staff member
Some folks are saying that Magisk 24306 is needed to root the May update. I see that Freak is using it too.

However, the release notes for 2.4 say "Make sure you´re being rooted with magisk 24300 stable before flashing the kernel if you´re unsure"

I am not sure which Magisk to use for the May update. Any more color to add?

thanks,
There is a disconnect and confusion between those talking about using 24306 and those who use 24300. The use of 24306 is related to updating using the OTA sideload method (not related to any kernel). I always flash the full factory image without the -w, so I just stick with Magisk Stable v24.3.
 

Lughnasadh

Senior Member
Mar 23, 2015
6,160
7,663
Google Nexus 5
Huawei Nexus 6P
Update to 2.4.0

Hey guys and girls,


Alright here´s the next update and it´s fine to flash on May firmware. As I suspected we already had all the changes for May by merging upstream.
I´ll include the changelog from 2.3.0 as well in this release post, since I think a lot of people flash the kernel on a monthly basis when the security updates drop. So this post pictures the changes going from 2.1.0 to 2.3.0! As I said 2.3.0 was kind of a final rehearsal to make sure everything is good for the May update.
I´ll put a remark behind changes going from 2.3.0 to 2.4.0.
This release is made for stable Android 12.1.0 May 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.

I also finished up the tables/graphs in regards to different binnings with the respective voltages on different tensor chips thanks to the dmesgs you all provided. I really want to put out a big thanks here to everyone for taking the time and participating. It was really great to see this kind of response.
I´ll provide them in a post in this thread soon.
So with that in mind we´ll get to the next paragraph were I could put those tables to good use.

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

However the recently dropped A13 Beta source contains a commit that can restrict max-cpufreqs based on PMU (Power monitor unit) reading. I setup this mechanism (lets call it "PMU Limiter") 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, interaction etcetc)
That means if a certain threshold is not crossed the max-freqs will be restricted to 1,4GHZ/1,6GHZ/2,4GHZ (for little/mid/big cores). As soon as the PMU detects enough pressure, those limits will be lifted.
The frequency limits are based on tracing during various scenarios, benchmarking and also factor in the voltage table I was able to create. For example: 2.4GHZ for the big cores is the last freq step where a steady linear increase in voltage can be seen. Freq steps higher than 2,4ghz have a steeper slope.
Keep in mind CPU-Freqs shouldn´t be touched in EXKM/FKM or other kernel managers. They are controlled by various mechanisms now (thermal hal, powerhal, pmu limiter etc) and values will get overwritten based on input.
That means if you open the CPU section in a kernel manager, the maxfreqs will not be the actual maxfreqs that are possible. or the minfreqs might be raised. That´s normal and there´s nothing wrong if that´s the case.

Additionally to the previous changes 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. Reasoning behind this can be found here.

The trusty driver which connects to the fingerprintreader hal uses now a high prio workqueue when the phone is unlocked via fingerprint scanner. This means better performance, especially under stress. Keep in mind this is a kernel level change, it won´t magically improve fingerprint reader times manifold.

DAMON and DAMON-Reclaim were removed from 2.3.0 going to 2.4.0. I tested the feature privately and it unfortunately collides with googles EH zram implementation causing the phone to crash at the moment. Tried to debug this issue, but no luck for the May release here.
If you previously enabled the feature without adjusting the parameters properly and your phone didn´t crash, DAMON-Reclaim just didn´t do anything.

2.4.0 also has an updated anykernel3.zip, which includes all the latest anykernel3 changes.
Thanks to @capntrips we now have full support to resize vendor_dlkm partition which is part of the super partition. That means we finally can flash larger than stock vendor_dlkm partitions via anykernel3.zips and resize the partition properly instead of just dd´ing to it.
A huge thanks to @capntrips for working on this and to @osm0sis for maintaining anykernel3.


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 May 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
- remove DAMON and DAMON-Reclaim from kernel build (2.4.0)
- improve trusty driver performance which connects to fingerprintscanner-hal by using high prio wq during fp unlock (2.4.0)
- mm improvements from kernel/common (2.4.0)
- 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
- updated anykernel3.zip (thanks to @osm0sis) -> adds full support for resizing vendor_dlkm ( huge thanks to @capntrips )



Download:


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
Thanks so much for the update! Really appreciate the time you spend as well to provide such detailed information on various aspects of the kernel and kernel related things 👍

As a side note, Canary Magisk was updated to 24307 and the latest version of this kernel (2.4) is working fine with it on the May firmware update....for me.
 
Last edited:

roirraW "edor" ehT

Forum Moderator
Staff member
So I went from 13 beta 1 to 12.1 may update today, factory reset.
Skipped setting up my phone, installed magisk latest, patched the factory boot.img, flashed it, rebooted, installed the power zip thingy as a module through magisk, rebooted, then patched the kernel, downloaded the files and followed the manual install. After everything went through and I double checked my work, when rebooting the phone told me that the system won't boot and I need to do a factory reset. So I did, I assume this wiped the magisk module because although the phone reached the google loading screen with the sliding bar, it would never boot up. Trying a redo this time with --slot=all this time around. Not sure what is up, but if refuses to boot repeatedly even following the instructions, something is up.
Try Official Google Android Flash Tool (OEM Unlocking needs to be toggled on - you may not have to manually unlock the bootloader - the "site" will do that on its own). You can deselect any option to wipe and see if you can at least get the phone working without losing any data first.

Then, I always use the flash-all.bat from the full factory image with the -w removed, I boot into Android without root, let the system finish the update, then I use fastboot to flash the Magisk'd (Stable v24.3) stock boot.img, then boot up. Finally, if everything is good so far I use ExKM to flash the all-in-one zip package of the kernel.
 
  • Like
Reactions: jcp2 and Lughnasadh

russian392

Senior Member
Apr 30, 2012
996
200
Simpsonville, SC
Try Official Google Android Flash Tool (OEM Unlocking needs to be toggled on - you may not have to manually unlock the bootloader - the "site" will do that on its own). You can deselect any option to wipe and see if you can at least get the phone working without losing any data first.

Then, I always use the flash-all.bat from the full factory image with the -w removed, I boot into Android without root, let the system finish the update, then I use fastboot to flash the Magisk'd (Stable v24.3) stock boot.img, then boot up. Finally, if everything is good so far I use ExKM to flash the all-in-one zip package of the kernel.
I flashed to stock just fine, I know what I am doing.
Doesn't work with EXKM. LMFAO what a waste of time.
 
Last edited:
  • Haha
Reactions: Mrcactuseater

shiftr182

Senior Member
Oct 5, 2010
1,996
1,228
Boise
Google Pixel 8 Pro
I flashed to stock just fine, I know what I am doing.
Doesn't work with EXKM. LMFAO what a waste of time.
I flashed may firmware on both partitions yesterday and the phone booted fine. Flashed rooted stock kernel, got to the "g" with the progress bar, then looped. Tried rebooting again, looped, got the message that my phone might be corrupt. Flashed stock unrooted boot img and it booted fine, repatched the boot and flashed, looped all over again. I ended up booting to safemode, then rebooting. I deleted every magisk module that I had installed, and reinstalled the ones I wanted. Phone worked fine. I installed kirisakura kernel this morning and haven't had a problem since.
 
  • Like
Reactions: roirraW "edor" ehT

russian392

Senior Member
Apr 30, 2012
996
200
Simpsonville, SC
I flashed may firmware on both partitions yesterday and the phone booted fine. Flashed rooted stock kernel, got to the "g" with the progress bar, then looped. Tried rebooting again, looped, got the message that my phone might be corrupt. Flashed stock unrooted boot img and it booted fine, repatched the boot and flashed, looped all over again. I ended up booting to safemode, then rebooting. I deleted every magisk module that I had installed, and reinstalled the ones I wanted. Phone worked fine. I installed kirisakura kernel this morning and haven't had a problem since.
I have been at this for 4 hours now. I have tried all sorts of things, what works for sure is the stock bootimg with stock vendor files (but patched). magisk version seems to not matter at all, as long as its the stock patched bootimg. It boots fine with the powerzip, I don't need root, nor do I use any modules. This is a full clean install from factory, there should be no issues but obviously this isn't the case.
As I said above, I have been using the manual install, and also tried EXKM, both fail but in different ways. The manual gives me corrupt device, where as EXKM straight up gets stuck in bootloader.
 

roirraW "edor" ehT

Forum Moderator
Staff member
I have been at this for 4 hours now. I have tried all sorts of things, what works for sure is the stock bootimg with stock vendor files (but patched). magisk version seems to not matter at all, as long as its the stock patched bootimg. It boots fine with the powerzip, I don't need root, nor do I use any modules. This is a full clean install from factory, there should be no issues but obviously this isn't the case.
As I said above, I have been using the manual install, and also tried EXKM, both fail but in different ways. The manual gives me corrupt device, where as EXKM straight up gets stuck in bootloader.
It's not the kernel that's the problem. These Pixel 6's have some oddities from time to time. I've experienced them too. One particular month I had trouble using a custom kernel. I stuck with stock rooted kernel until the following month - then I updated and was able to use the new month's rooted custom kernel perfectly. There's no rhyme or reason that we can determine what causes these issues. It's not related to the kernel, however.

I use ExKM every month to flash this custom kernel zip.
 

russian392

Senior Member
Apr 30, 2012
996
200
Simpsonville, SC
It's not the kernel that's the problem. These Pixel 6's have some oddities from time to time. I've experienced them too. One particular month I had trouble using a custom kernel. I stuck with stock rooted kernel until the following month - then I updated and was able to use the new month's rooted custom kernel perfectly. There's no rhyme or reason that we can determine what causes these issues. It's not related to the kernel, however.

I use ExKM every month to flash this custom kernel zip.
That is bizzare. Never had this issue with a single previous device. But whatevs.
With EXKM it gets to the google logo, flashes green then bootloops. GG's.
 
Last edited:

roirraW "edor" ehT

Forum Moderator
Staff member
That is bizzare. Never had this issue with a single previous device. But whatevs.
There was never a Samsung Exynos-based Pixel before. There have been many unexplained issues on these phones. Some of us, like me, have been lucky to only experience a few minor oddities.

With EXKM it gets to the google logo, flashes green then bootloops. GG's.
I believe you - that just doesn't happen for most of us most of the time. It won't surprise me if for next month's update you're able to use next month's kernel without any issue. Good luck to you.
 

russian392

Senior Member
Apr 30, 2012
996
200
Simpsonville, SC
There was never a Samsung Exynos-based Pixel before. There have been many unexplained issues on these phones. Some of us, like me, have been lucky to only experience a few minor oddities.


I believe you - that just doesn't happen for most of us most of the time. It won't surprise me if for next month's update you're able to use next month's kernel without any issue. Good luck to you.
We shall see. Ill keep my bootloader unlocked and maybe give it another go later. I am pretty sure I can dust off the old notes from the good old days and see what I can do. Root was the way for me up until the 2016/2017 era, heck I didn't even have this many issues with Kiri on my p4...absolutely nuts.

EDIT: Tried one more thing, but in the end, same issue. EXKM flashes, then when it reboots, the google screen flashes green and bootloops. Guess I have tried everything.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 9
    Hey everyone,

    2.2.0 is fine to flash on April stable firmware! :)

    I wish everyone a good day!
    2
    Just confirming that with stock kernel on April update, I still get wide variations in ping time to my router. So, it's not specific to the Kirirasura kernel.
    Same on my end. I could reproduce similar results on pixel 6,7 and 8 pro.
    There are next to no changes on the wifi driver on my kernel.
    Maybe it's just an "issue" in that specific scenario though and not while gaming or when ping matters more.
    2
    Thank you @majorfigjam and @Freak07 for your feedback.
    1
    Firs of all thank you for your kernel freak.

    I have a question, I'm encountering this weird issue. My ping fluctuates a lot.

    I noticed it when I tried pinging my router while I'm next to it. I tried 2.4ghz and 5ghz networks. Spikes are up to 80ms.
    I don't have this issue on my other devices.

    Can someone please ping their router and check if they have the same issue ? Thank you
    Yes, I have a a similar variation.

    Don't know if it's kernel related though. Would have to wait until next monthly update (next week) to check out with the stock kernel.
    1
    definitely it happens here after installing kirisakura kernel
    all fine on my end.
    the kernel has no impact on displaying this information.

    It´s related to play services, google services, google app and the launcher, location services etc.
    If you use mods/magisk modules that alter this in any way, that´s were this can break.

    The kernel would only break mobile data, wifi or similar, but for the entire system/all apps/services.
    1000002831.png
  • 127
    Kirisakura-Kernel for the Pixel 6/Pro

    Hello everyone,

    To keep it short: Here is Kirisakura - Kernel for the Google Pixel 6 Pro aka Raven and the Pixel 6 aka Oriole, together Raviole.
    I would appreciate if everybody that flashes the kernel, reads at least once through this opening post and the following ones.

    The kernel aims to keep most of the subsystems updated, way ahead of the stock kernel, thereby improving security, stability and performance!
    This includes Linux-Stable, F2FS-Stable and kernel/common!
    If that got you curious, have a read about linux-stable and why it is important here. The stable-process is not the same for every subsystem, but the general idea, rule of thumb and benefits are applicable for other subsystems as well.

    The kernel includes a lot of improvements and contributions from other developers as well. Without this kernel would not exist.
    A big part of improvements originate from @arter97´s, @kdrag0n´s and @Sultanxda´s work. Many others contributed in some way or another to this kernel.
    A big thanks to all of them at this place!

    Now lets continue with a list of features in the next paragraph!

    Features:
    Main Features:
    - Based on latest A14 kernel sources from Google, Kernel is made for stable Android 14
    - Linux-Stable-Upstream included to 5.10.209
    - Compiled with prebuilt Google clang 18.0.0
    - EEVDF scheduler patches
    - lockless slab shrinker
    - Backport entire RCU subsystem to Linux 6.0
    - Lazy RCU which should result in power-savings while the device is lightly-loaded or idling, more information here
    - Backport Maple tree from Linux 6.1
    - improve preallocations from maple tree (affects especially android)
    - reduce necessity to rewalk the maple tree
    - Per VMA-locks in conjunction with Maple Tree RCU-Mode (improve app launch time, this feature in general benefits greatly from lazy rcu!)
    - further improve maple tree/per-vma locks introduced in an earlier release
    - make TEO-Cpuidle util-aware (improves latency, performance and decreases energy consumption for certain workloads, more information here)
    - introduce runnable boosting, wire it up with pixel_sched
    - FHD Support for Pixel 6 Pro (display is able to run at 1080p), more info here and here
    - merged kernel/common (improvements to android-common-kernel straight from google)
    - MM subsystem reworked (more info and some patchsets linked in this post)
    - Multi-gen LRU backported/reworked and enabled (more info here, here as well and here) to improve mm and reduce cpu cycles, latest V15 state (currently disabled as Google remotely disables the prop)
    - improvements to uclamp, prevent capacity inversion (reduce missed frames)
    - greatly speed up camera launch time!
    - Utilize an additional kswapd thread to increase throughput for memory reclaim
    - pelt multiplier tied into powerhal to speed up scheduler during interaction (more info here)
    - prevent frequency spikes caused by small transient tasks when the device is idle(more info here)
    - tie mechanism to prevent frequency spikes caused by small tasks also into powerhal
    - scheduler improvements for RT (realtime) tasks
    - introduce and setup PMU limiter (prevents CPU from spiking to max when it isn´t needed, based on PMU reads, more information here)
    - improve camera performance by tuning the powerhal during recording
    - bias tasks of rt, sf and ta groups to prefer high capacity cpus during app launches, interactions
    - improve app launches via powerhal
    - improve trusty driver performance which connects to fingerprintscanner-hal by using high perf wq during fp unlock
    - restrict maximum CPU-Freqs during screen off/ idle to 1.1GHZ for all clusters to save power
    - introduce unfair f2fs rwsems to prevent writer starvation and improve IO perf under heavy load
    - fuse: give wakeup hints to scheduler to speed up compress/decompress in internal storage (details)
    - enable RCU_BOOST (details here), also fix RCU_BOOST behaviour
    - F2FS-Stable updated
    - 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)
    - TCP backports from mainline
    - SSG IO scheduler for reduced overhead and less CPU cycles (more lightweight and android optimized)
    - Scheduler updates from linux-main
    - use improved energy model for exynos cpu cooling/thermal control
    - allow GPU to scale down to 150mhz, but boost to higher value in case of interaction via powerhal
    - affine IRQS to CPU 7 during camera usage for improved performance as it tends to overload the little cores
    - use bbr as default TCP congestion algorithm (fasted algo according to this excellent research from @kdrag0n found here )
    - include bbrv2 from google, more info here
    - Enable support for TTL spoofing
    - Include LRNG, see here and here for more info, bump to v45 with 3.0.0
    - important patches from kernel/common for 5.10 (here are more details)
    - CleanSlate Features from @tbalden, big applause here! (s2s, notification booster, battery saver, flashlight notifications. Please note: cleanslate features that work otherwise with rooted devices like kadaway (adblocking) are not implemented on this kernel since I´m running rooted)
    - dirty pipe exploit fixed
    - supports direct usb access for hi-res playback over USB-C DACs
    - improve ZRAM usage
    - reduce overhead
    - improve performance and efficiency by properly wiring up pixel_sched with teo util awareness (thanks @ada12 for spotting this!)
    - update to cpuset/cgroup subsystem (speeds up camera launches, device unlocks etc as cpusets are switched on those conditions, patches reduce overhead in those conditions)
    - flashing the kernel will preserve root

    Various Optimizations:
    - update several drivers to use power efficient workingqueues (for example wlan driver)
    - kernfs: use buffer from the stack space
    - printk: use buffer from the stack space
    - kthread: use buffer from the stack space
    - bpf: avoid dynamic memory allocation for small value buffers
    - binder: Reserve caches for small, high-frequency memory allocations
    - kernfs: use kmem_cache pool for struct kernfs_open_node/file
    - cgroup: use kmem_cache pool for struct cgrp_cset_link
    - f2fs: reduce timeout for uncongestion
    - f2fs: Demote GC thread to idle scheduler class
    - f2fs: set ioprio of GC kthread to idle
    - mm: vmstat: use power efficient workingqueues
    Wakelock Blocker:
    - advanced wakelock blocker with the ability to block any wakelocks (dangerous, use with caution)
    - please read [URL="https://arstechnica.com/gadgets/2018/08/p-is-for-power-how-google-tests-tracks-and-improves-android-battery-life/"]this for further info

    AK3 Helper Module:
    - restrict little cluster to 1,19ghz mid cluster to 1,19ghz and big cluster to 1,1ghz during screen off, to reduce battery usage for example during music playback
    - only use little cores during screen off/device suspend
    - tie pelt multiplier into the powerhal (more info here)
    - prevent frequency spikes caused by small transient tasks during idle operation (more info here)
    - boost scheduler using the pelt multiplier during fingerprint unlock operation
    - setup and control PMU limiter via powerhal (more info here)
    - dynamically adjust target load for memory interface during interaction
    - boost memory interface controller during interaction (decreased missed frames, improved soc efficiency according to google docs)

    DOWNLOAD:
    Download is always located in this folder:
    4.2.0, 4.3.0, 4.4.0, 4.4.1, 4.4.2 are attached to the release posts linked below as AFH is wonky at the moment.


    Changelog:
    Android 12.0.0

    1.0.0 Initial Release
    1.0.2 https://xdaforums.com/t/kernel-07-1...r-pixel-6-pro-aka-raven.4358435/post-85910621
    1.0.5 https://xdaforums.com/t/kernel-08-1...r-pixel-6-pro-aka-raven.4358435/post-85924419
    1.3.0 https://xdaforums.com/t/kernel-11-1...pixel-6-pro-aka-raviole.4358435/post-85976139
    1.4.0 https://xdaforums.com/t/kernel-15-1...pixel-6-pro-aka-raviole.4358435/post-86109665
    1.5.0 https://xdaforums.com/t/kernel-16-1...pixel-6-pro-aka-raviole.4358435/post-86259863
    1.7.0 https://xdaforums.com/t/kernel-15-0...pixel-6-pro-aka-raviole.4358435/post-86390563
    1.8.4 https://xdaforums.com/t/kernel-08-0...pixel-6-pro-aka-raviole.4358435/post-86541727

    Android 12.1.0 Stable (March feature drop and more recent)
    2.0.0 https://xdaforums.com/t/kernel-08-0...pixel-6-pro-aka-raviole.4358435/post-86617873
    2.0.1 https://xdaforums.com/t/kernel-22-0...pixel-6-pro-aka-raviole.4358435/post-86637233
    2.1.0 https://xdaforums.com/t/kernel-25-0...pixel-6-pro-aka-raviole.4358435/post-86695911
    2.3.0 https://xdaforums.com/t/kernel-28-0...pixel-6-pro-aka-raviole.4358435/post-86821331
    2.4.0 https://xdaforums.com/t/kernel-30-0...pixel-6-pro-aka-raviole.4358435/post-86834981

    Android 12.1.0 Stable (June feature drop and more recent)
    3.0.0 https://xdaforums.com/t/kernel-03-0...pixel-6-pro-aka-raviole.4358435/post-86992705
    3.0.1 https://xdaforums.com/t/kernel-07-0...pixel-6-pro-aka-raviole.4358435/post-86996237
    3.0.17 https://xdaforums.com/t/kernel-08-0...pixel-6-pro-aka-raviole.4358435/post-87127695

    Android 13.0.0 Stable (not QPR beta!)
    4.1.0 https://xdaforums.com/t/kernel-09-0...pixel-6-pro-aka-raviole.4358435/post-87290247
    4.1.6 https://xdaforums.com/t/kernel-16-0...pixel-6-pro-aka-raviole.4358435/post-87399635
    4.2.0 https://xdaforums.com/t/kernel-06-0...pixel-6-pro-aka-raviole.4358435/post-87524609
    4.3.0 https://xdaforums.com/t/kernel-04-1...pixel-6-pro-aka-raviole.4358435/post-87697425
    4.4.0 https://xdaforums.com/t/kernel-08-1...pixel-6-pro-aka-raviole.4358435/post-87823333
    4.4.1 https://xdaforums.com/t/kernel-06-1...pixel-6-pro-aka-raviole.4358435/post-87944879
    4.4.2 https://xdaforums.com/t/kernel-04-0...pixel-6-pro-aka-raviole.4358435/post-88118201
    Raviantha 1.0.0 https://xdaforums.com/t/kernel-09-0...pixel-6-pro-aka-raviole.4358435/post-88316223
    Raviantah 1.0.2 https://xdaforums.com/t/kernel-21-0...pixel-6-pro-aka-raviole.4358435/post-88399941
    Raviantah 1.1.0 https://xdaforums.com/t/kernel-11-0...pixel-6-pro-aka-raviole.4358435/post-88645115
    Raviantah 1.1.2 https://xdaforums.com/t/kernel-14-0...pixel-6-pro-aka-raviole.4358435/post-88719665
    Raviantah 1.1.3 https://xdaforums.com/t/kernel-06-0...pixel-6-pro-aka-raviole.4358435/post-88847787
    Raviantah 1.1.5 https://xdaforums.com/t/kernel-08-0...pixel-6-pro-aka-raviole.4358435/post-89041877

    Android 14.0.0 Stable (NOT QPR BETA)

    Raviantah 2.0.0 https://xdaforums.com/t/kernel-24-0...pixel-6-pro-aka-raviole.4358435/post-89087375
    Raviantah 2.0.2 https://xdaforums.com/t/kernel-07-1...pixel-6-pro-aka-raviole.4358435/post-89149241
    Raviantah 2.1.0 https://xdaforums.com/t/kernel-08-1...pixel-6-pro-aka-raviole.4358435/post-89205122
    Raviantah 2.2.0 https://xdaforums.com/t/kernel-07-1...pixel-6-pro-aka-raviole.4358435/post-89384479



    Android 12L QPR Beta - Deprecated

    Requirements

    - the kernel is made for the stock firmware provided by Google, pay attention to flash a kernel release matching the firmware (flashing on custom roms might work, but you may need workarounds!)
    - unlocked Bootloader
    - USB-Debugging in developer options enabled
    - latest adb and fastboot binaries
    - working adb and fastboot environment so you can flash back to stock in case something goes wrong
    - working magisk environment (a device rooted with latest magisk stable in case you want to be absolutely safe)
    - IMPORTANT: Unrelated to the kernel, but update both slots of your phone to A13! (take a look here)


    How to flash the Kernel:
    1a. Make sure you tick all the requirements above
    1. Download the correct kernel.zip depending on your device (Pixel 6 = oriole || Pixel 6 Pro = raven)
    2. Flash the correct kernel.zip via EXKM, FKM or kernel flasher. Root will be preserved. The AK3 magisk helper module will be automatically installed during flashing the kernel.zip and be present on next reboot.
    Do not remove or disable the AK3 Magisk Helper Module otherwise the device will bootloop.
    3. Reboot and profit.


    Manual installation is no longer supported starting with release 3.0.0, as there´s a free open-source option to flash kernel.zips now.
    Instead use the free kernel flasher, which can be found here.

    Manual installation without relying on paid apps like fkm/exkm:
    Please have a look at the linked post.



    Donations:
    Donations are not mandatory but very welcome if you want to support development or just buy me a coffee/tea/beer :)
    If you like my work: http://paypal.me/freak07

    Credits:
    @osm0sis for all his work on AK3.
    @tbalden for being the best HTC, Pixel, OnePlus and Asus wingman!
    @capntrips for all his work on the pixel 6!
    @LeeDroid and @mwilky for their awesome roms and work I used on multiple devices!
    @Captain_Throwback for all the mentoring and guidance!
    @Eliminater74 for bringing me into the game and the Inspiration
    @nathanchance for his upstream guidance and assistance
    @RenderBroken for helping me out
    @flar2 for all his work
    @joshuous for all the help he provided to me in the past!
    @arter97 for giving me advice
    @kdrag0n for his help and advices!
    @topjohnwu for magisk and his entire work!


    Source Code: https://github.com/freak07
    44
    Update to 4.1.0

    Hey guys and girls,

    I hope everyone started into a good week. Here´s the next release. It´s for stable Android 13.
    Thanks to Google releasing the kernel source for the previews and the betas I´m able to push this update out very quickly. As in the past, the code didn´t change between last beta and stable release.

    There are again a lot of changes in this release. I´ll try to keep the release post short as I don´t have that much time lately.


    FHD/1080P Support for Pixel 6 Pro

    The biggest change is FHD support for the Pixel 6 Pro. If you follow twitter you might have seen this tweet from @MishaalRahman.
    Instead of using the display driver that´s supposedly for the Pixel 7 Pro, FHD support was added to the Pixel 6 Pro display driver. There were a few obstacles to make it run properly on the Pixel 6 Pro, but I got it working nicely so far. If anyone has more experience than me regarding panel timings, display drivers etc, feel free to push any improvement as a pull request to my github or point me towards any improvement.

    As a result you can now select 1080p resolution from settings after flashing the kernel. Dynamic refresh rate works, brightness scaling works, no tints, colour shifts or contrast issues either. AOD has a 1080p Low-Power timing as well.

    You´ll find a few more infos with a short video on my tweet here:
    Screenshot_20220816-083147.png
    Screenshot_20220816-083204.png

    It´s perfectly usable on a daily basis so far. I ran it for a few days without issues on my end. While the advantage might be debatable (saving battery, less load on GPU, still needing to drive the same amount of pixels in the end even on lower resolution, etc etc) having options is nice and this is why I decided to ship it.

    Apps need to redraw after switching resolution, sometimes 1080p on big display size selected in settings the UI looks a bit sketchy. So I think Google is still working on that.

    There´s however one bug I found so far that makes me believe this is still very much a WIP from google. If having the "show current refresh rate" option from dev settings enabled while switching resolutions, the display will black out and a restart needs to be forced by keeping the power button pressed or using adb interface to restart the phone. This is not due to the kernel, but display settings in framework getting scrambled as it´s not yet implemented 100% on googles end. So be warned. :)


    MM Subsystem Rework

    MM subsystem was completely reworked including many improvements from linux-mainline. During this MGLRU was also reworked a bit and works better now. I´ll include links to a few of the improvements/patchsets in hide-tags below, if you´re interested beyond that please check out my github.
    links:

    Additionally tie in a few of the MM changes into the powerhal. For example Proactive compaction is more aggressive during screen-off/device suspended operations to improve long term-performance.

    Other changes:

    Also tune the powerhal and implement all A13 changes, according to the changes that were already present on A12.

    Latest changes from f2fs-stable are included, which include several bugfixes and small improvements.
    Binder improvments/fixes, scheduler improvements from kernel/common, performance for exfat formatted storage device improved (niche use case, but still nice) and other little improvements.
    For other changes and details please take a look at github.


    I wish everyone a nice day.

    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:

    - Rebase kernel fully on A13 trees
    - Linux-Stable bumped to 5.10.136
    - FHD/1080p support for Pixel 6 Pro
    - all previous features and improvements kept intact
    - bump f2fs-stable to latest available
    - rework mm subsystem (check git for more details)
    - scheduler improvements
    - binder improvements from kernel/common
    - improve exfat performance (if someones uses exfat formatted devices)
    - loads of other changes from kernel/common
    - update powerhal to account for a13 changes and port existing changes over
    - loads of other changes, please check github



    Download:


    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
    43
    Update to 4.2.0

    Hey guys and girls,

    I hope everyone started well in the new week. Here´s the next release and it´s a rather big one with lots of under the hood improvements.
    We already had all the changes in from the October security patch release released, due to merging linux-stable stable and kernel/common in advance.
    The kernel is now at 5.10.146 way ahead of the stock kernel. To further emphasize the importance of this. About 90% of kernel security issues are solved in linux stable. While I didn´t check the actual number myself, I´d have estimated about the same (80-90%) before actually reading the slides from @arter97 presentation.
    What also needs to be kept in mind is that a big part of those security issues are resolved in linux-stable sometimes months ago before those patches end up in a monthly security patch. Additionally to that the security patches are about 3 months behind the discovery of those vulnerabilities.

    Amongst linux-stable upstream there are a few other not minor updates in this kernel.

    Clang
    The kernel is now compiled with the latest prebuilt Clang from Google. This was quite a journey as this is a pretty big update to clang. This is quite experimental to be on googles side of a "bleeding" edge compiler, but after fixing several issues that originated from the new compiler it ran stable for over 2 weeks.

    There´s a potential for CFI failures that originates from that new Clang rather than a "real attack", due to the changes in clang.
    Short reminder what CFI actually does: Control flow integrity (CFI) is a security mechanism that disallows changes to the original control flow graph of a compiled binary, making it significantly harder to perform such attacks.
    A typical crash (that´s not wanted and originates from compiler changes rather than an actual attack, which is already resolved of course ) would look like the following: Open camera app, due to compiler changes CFI is accidentally tripped every time this code is executed.
    I think we catched all of these newly CFI failures and everything is nice and stable. In case you discover such a behaviour please send me the contents of sys/fs/pstore, once the phone booted back up.

    There´s always the possibility of a "real" attack in which CFI will crash the phone, before the attacker can compromise the phone. That´s why keeping subsystems updated is important.


    Powerhal
    The powerhal was retuned due to changes to the scheduler introduced. It should work even better now, regarding efficiency and performance. Of course I try to tune it also to my personal needs, while trying to keep it working for all workloads. The changes are not drastic, so please don´t post after several hours you see drastic differences.

    Other improvements
    Several other improvements from kernel/common (for higher branches than 5.10) and linux-main were backported to this branch so we can benefit from those improvements. For details please check my git.



    I´d like to write all of this with more detail, but at the moment I lack the time to do so.

    Kernel is compiled for stable A13, not A13 QPR Beta!


    I wish everyone a nice day.

    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 bumped to 5.10.146
    - kernel is compiled with latest prebuilt google clang 15.0.2
    - improvements from linux-mainline
    • locking subsystem
    • memory management
    • more details please check github
    - patches to f2fs
    - updates from kernel/common to several subsystems
    - tweak powerhal for improved performance/efficiency


    Download:
    Attached to release post as AFH is currently down.
    I´ll push to AFH once it´s back up.



    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
    37
    Update to 1.8.4

    Hey guys and girls,


    So here´s the next update. It´s kind of an off schedule update, as I planned to update the kernel with the next security update/feature drop.

    But in the light of recent events regarding the new exploit called "Dirty Pipe" (more info here), which is similar to the "Dirty Cow" exploit from a while ago, but easier to exploit this time, I decided to release an update ahead of schedule.

    This exploit was fixed in linux-stable 5.10.102, as opposed to a single commit in AKC (android kernel common, commit here). This shows once more why merging linux-stable is beneficial as explained in detail in the OP.

    Since one of the key aspects of this kernel is security and staying on par with upstream (which often fixes exploits way ahead of android security bulletin updates, even before an exploit is even known or fixed via a patch on the security bulletin) I decided to release this update as quickly as possible, so this exploit is fixed on devices running this kernel.

    Several other notable improvements and changes in this release:
    Bring in scheduler updates from Android 13 Developer Preview, which aim at improving task placement. (adjust powerhal accordingly)
    BFQ IO-Sched is now on par with linux-mainline.
    Several fixes to mm subsystem, f2fs and others.

    Several other improvements are included as well. More details in the changelog.
    Download is below.
    Updated instructions in the OP!


    Changelog:
    - linux-stable 5.10.103
    - contains fix for the dirty pipe exploit
    - built with clang 14.0.2 prebuilt by google
    - improvments from kernel/common
    - fix memory leaks
    - security related patches
    - mm improvments
    - f2fs fixes
    - scheduler fixes
    - for details please check github
    - built with improvements from A13 Dev Preview to display driver
    - other changes please look at my github


    Download:


    Instructions can be found in the OP! Please follow the instructions to avoid any 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.
    37
    Update to 1.7.0

    Hey guys and girls,


    So here´s the next update. It includes the february security update. Most of the changes brought by the February kernel source drop, were already included in this kernel by merging kernel/common and linux-stable.


    Several other notable improvements and changes in this release:
    Improve f2fs performance by merging a patchset to prevent writer starvation for the checkpoint thread. This was discussed this month in the f2fs mailing list and is already merged to the kernel/common tree. It´ll improve performance under heavy I/O utilization.
    You can find more information following the discussion here.
    Necessary backports were brought to the kernel and the platform specific f2fs-implementation was also adjusted.
    Latest f2fs-stable was also merged to the kernel.

    Update the patchset to prevent frequency spikes caused by small tasks as well. Tie those new changes into the powerhal. (That means users not flashing the kernel.zip, but instead use the manual installation method, which are only a handful from the download count, need to flash the updated magisk helper module. Users that flash the kernel.zip via FKM/EXKM have to just flash and forget)

    Several other improvements are included as well. More details in the changelog.
    Download is below.
    Updated instructions in the OP!


    Changelog:
    - February Security update merged
    - linux-stable 5.10.96
    - include latest f2fs-stable
    - improvments from kernel/common
    - fix memory leaks
    - security related patches
    - mm improvments
    - for details please check github
    - introduce unfair f2fs rwsems to prevent writer starvation and improve IO perf
    - update patchset to prevent freq spikes caused by small transient tasks (also tie this into powerhal)
    - give pelt multiplier power hint for scheduler performance boost during fingerprint unlock
    - fuse: give wakeup hints to scheduler to speed up compress/decompress in internal storage (details)
    - enable RCU_BOOST (details here), also fix RCU_BOOST behaviour
    - update LRNG implementation (thanks to arter97 )
    - improvements/fixes for CleanSlate features
    - other changes please look at my github


    Download:


    Instructions can be found in the OP! Please follow the instructions to avoid any 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.