[Nexus 6P General] Alcolawl:
​

I wasn't going to release this for testing to you 6P folks just yet, but... **** it.

Today, I introduce, Gyrfalcon, an Ondemand governor tweak that aims to give a smooth user experience without trashing battery life. The LITTLE cluster will use OnDemand while the Big cluster will use a Interactive that behaves quite closely to the one seen in my last RedHawk release. OnDemand is a much more aggressive, responsive and hectic governor. It is constantly jumping all over the place. While this provides an extremely slick UI and multitasking experience, it often has a negative effect on battery life. The aim of this project is to mitigate the negative battery life associated with the stock settings of this governor while maintaining the fluid UX that it provides.

Please bare in mind this tweak is still in its infancy and therefore I have given it an Alpha stage designation. Initial testing seems promising, but needs a lot more real world testing. That's where you guys come in!

Details - Below are the nitty-gritty settings used to create Gyrfalcon, for those that are interested.

Explanation of OnDemand Settings

sampling_rate: A value that determines how fast or slow the CPU reacts and/or stays on a certain frequency. Higher values result in a more frantic CPU that is constantly hopping around from frequencies. This gives better performance at the cost of battery life. Lower values has the opposite effect.

up_threshold: The CPU load required to jump to the next frequency

sampling_down_factor: Acts as a multiplier with sampling_rate when the CPU wants to ramp down its frequency. Ex. 166700 is approximately 1/6th of a second. If sampling_down_factor were set to 2, the CPU would hold its current frequency for 333400 microseconds or 1/3 of a second before ramping back down. This exists to tame the frantic nature of this governor, so the CPU isn't constantly hopping back and fourth between frequencies.

ignore_nice_load: Every instruction that is flagged as "nice" is ignored and does not play into the CPU's decision to raise the frequency. Unfortunately, enabling this results in the CPU remaining at idle for the most part.

LITTLE Cluster

Sampling_rate - 166700 (Has a huge impact on smoothness and battery life. Iterations of this tweak will most likely include changing this value)

up_threshold - 99

sampling_rate_min - 10000

sampling_down_factor - 1

ignore_nice_load - 0 (DO NOT TOUCH THIS! Ruins performance if set to anything other than 0)

Big Cluster

go_hispeed_load - 200

above_hispeed_delay - 0

timer_rate - 30000

hispeed_freq - 633600

timer_slack - -1

target_loads - 98 633600:65 768000:78 864000:85 960000:95 1248000:60 1344000:65 1440000:70 1536000:75 1632000:80 1728000:85 1824000:95

min_sample_time - 60000

Input Boost settings

input_boost_enabled - 1

input_boost_freq - 0:672000 1:672000 2:672000 3:672000 4:0 5:0 6:0 7:0

input_boost_ms - 40

touchboost - 0 (OFF!!)

This tweak can be used with ANY governor, so have at it! -- Please provide feedback, it's what keeps these projects alive!

Download the Gyrfalcon Alpha 1 Profile

Gyrfalcon Bash Script Download (Advanced Users)

Post #900 in the Nexus 5X thread will not be updated with this download link until further improvements are made or the project is scrapped altogether.