[One (M9) Android Development] Mostafa Wael:
Speak of the devil and he shall appear!

In this thread I am here :D

I am all ears to your questions about the thermal mod I did :)

Massive thanks to your work, deserves a lot of prizes really !!

I already achieved this screen off power saving via a 3rd party app called CpuPark, however the app needed to be locked in the recents to keep activated, so integrating it in HTC's proprietary PnPmgr engine is totally insane and I like that!

However, I disagree about that part

HTC's idea was to sustain the max frequency for longest time possible like what they did in the M8, and apparently change CPU freq and governor settings instantaneously depending on the scenario, like for instance app launching, it makes the minimum freq to 1632 MHz and maximum 1958 MHz, and if the temp barrier is exceeded, which I do not know coz the pnpmgr is encrypted, it edits the target_loads to make the system hang on the 1632 MHz for longer time and not ramp up to the max freq instantly, and so on for a lot of other scenarios. Was able to track this instantaneous changes via EX Kernel Manager app as it keeps those values for a while unintentionally :laugh: However, it begins to warm up so soon in sustained CPU intensive tasks (my usage habit) as the CPU in a way or another "moves/migrates" all the threads away from the big cluster to the little cluster, quoting Anandtech's review here, leaving the CPU lying inactive on the 384 MHz frequency. And with the help of CoolTool, CPU Times apps, it was very noticeable as well as all of a sudden the A53 begins spiking and the A57 begins to slack. I remember [MENTION=4684315]flar2[/MENTION] talking about this as well and that was the main reason he introduced his "minimum A57 usage" in EX kernel manager by adding a tunable called "min_budget" for the big cluster and setting it to a percentage from 0 to 100 percent to overcome this stupid migrating thing.

However, on the other side of the OEMs lies the most smart company of them all, Google. The way nexus 6P manages frequencies is to hit the best average frequency and therefore keep the A57 cluster engaged but at low frequencies and if temps are really high it shuts down the big cores, which is smarter. A57 cores at 960 MHz is way much better than depending only on the A53 cores and leaving it wrestle with the max frequency coz it is limited by its "low-power" architecture.

HTC's idea theoretically should be ideal, but the A53 cores are too poor to handle all the tasks, also we are limited by a low max frequency compared to other SoCs like the MTK x10 for instance and its golden 2.2 GHz ;)

my thermal file just introduces hotplugging of the Nexus 6P to our M9 and overrides that migration action of the threads ;)

but I mod the Nexus 6P hotplugging bounds to adapt it to our metal 5 inch phone, which will have less area for heat dissipation and will be warm to your hands much quicker, and trust me you do not want that metal luxury be that hot :)

Any other info you need should be in my thread's first page :) :highfive:

---------- Post added at 01:00 PM ---------- Previous post was at 12:58 PM ----------

however that work is next level stuff

I really don't know how can you actually touch PnPmgr :good: