[Nexus 5X Original Android Development] milouk:
Version 3.1

Aloha Guys, it's been a while...

You can say this one is a "big" update heheh!

Changelog :

-USB FastCharge - Note (1)

-ext4: Support Lazytime - Note (2)

-Added MSM_HOTPLUG v2.4 - Note (3)

-New Square Root algorithm which is 3x Faster.

-Adreno improvements

-Added AdrenoBoost Parameter

-Further disable Gentle Fair Sleepers

-Added ARCH_POWER interface - Note (4)

-Disable add_random - Note (5)

-Numerous ext4 upstream commits from 3.18 and 4.1

-Thermal patches by [MENTION=5996255]jollaman999[/MENTION] - Note (6)

-Many Low Memory Killer Improvements

-Added Adaptive Low Memory Killer - Note (7)

-SdFAT Upstream improvements

-Added Process Reclaim (enabled by Default)

-UKSM Improvements

-MSM8992 (Snapdragon 808) Upstream improvements from 4.10

-Qnovo Charging Interface - Note (8)

-SLIMBUS OC Fix

-Added PowerSuspend v1.7 - Note (9)

-Added EarlySuspend

-Merged August Security Patch - Note (10)

-Update Wireguard - 0.0.20180802 - Note (11)

Notes :

Note 1: USB fast charge increases the input limit from 550 mAh to 1500 mAh. You can check it with Ampere from Play Store.

Note 2: Very Interesting feature check here https://lwn.net/Articles/621046/ and here https://lwn.net/Articles/620086/.

Note 3: See tunnables here: https://github.com/milouk/Sphinx-Kernel-Bullhead/commit/32034a5115c306f11eb7ee5d039d482423fe5080

Note 4: You need Kernel Adiutor to configure it.

Note 5: add_random was implemented for spinning hard disks. It only slows SSDs down. Read here http://wiki.samat.org/SSD for more info.

Note 6: Taken from Jolla Kernel (https://xdaforums.com/nexus-5x/orig-development/jolla-kernelbullhead-t3271530) credits to [MENTION=5996255]jollaman999[/MENTION]

== MSM Thermal Tunable options ==

Parameters are here '/sys/module/msm_thermal/parameters'

[msm_thermal Tunable options]

= poll_ms - msm_thermal will check the device's temperature every this milli seconds.

= temp_threshold - Limit the frequency of LITTLE when the temp is reached to this value.

= temp_big_threshold - Limit the frequency of big when the temp is reached to this value.

= temp_big_off_threshold - Turn off the big cores when the temp is reached to this value.

= temp_step_little - If 'temp_step_little = 4' and 'temp_threshold = 60', frequency will decrease like below.

└─temp = 60 --> LITTLE's max frequency will decrease one step.

└─temp = 62 --> LITTLE's max frequency will decrease one step.

└─temp = 63 --> LITTLE's max frequency will decrease one step.

└─temp = 64 --> LITTLE's max frequency will decrease two steps.

└─temp = 65 --> LITTLE's max frequency will decrease two steps.

└─temp = 68 --> LITTLE's max frequency will decrease three steps.

= temp_step_big - If 'temp_step_big = 2' and 'temp_threshold = 60', frequency will decrease like below.

└─temp = 60 --> big's max frequency will decrease one step.

└─temp = 61 --> big's max frequency will decrease one step.

└─temp = 62 --> big's max frequency will decrease two steps.

└─temp = 63 --> big's max frequency will decrease two steps.

└─temp = 64 --> big's max frequency will decrease three steps.

= freq_step_little - Frequency decrease step for little.

= freq_step_big - Frequency decrease step for big.

= temp_count_max_little - If this value is 3, LITTLE's max frequency will decrease 1 to 3 steps.

= temp_count_max_big - If this value is 5, big's max frequency will decrease 1 to 5 steps.

Note 7: Makes LMK more aggressive dynamically when a thrashing scenario is detected.

Note 8: Qnovo QNS is the battery charging controller. This technology helps batteries stay cool while charging and thus expanding their life see here for more info https://qnovo.com/technology/

Note 9: Better be configured with Kernel Adiutor, more info here https://github.com/milouk/Sphinx-Kernel-Bullhead/commit/dd34fecbff5fadfc3de941b3396aaca313800b44

Note 10: More info here https://source.android.com/security/bulletin/2018-08-01

Note 11: Changelog here https://git.zx2c4.com/WireGuard/log/

Aaaaaand Enjoy! :highfive: