# [REF][GUIDE]Most up to date guide on CPU governors, I/O schedulers and more!



## Saber (Mar 8, 2015)

Collective guide of CPU governors, I/O schedulers and other kernel variables

I present to you a wonderful collection of descriptions, comparisons and graphs of common kernel variables. Before continuing on the wonderful journey of Linux kernel tuning, please note that I am not responsible for any damage to your device or malfunction. You are in complete control over your device so please do not blindly follow without proper research. While you could use this guide to tune other devices other than a smartphone, I would recommend against doing so.   

*Guides:*

Governors - Part 1: Post 1
Governors - Part 2: Post 2
I/O Schedulers: Post 3
CPU Governor Tuning Guide: Post 4
I/O Scheduler Tuning Guide: Post 5
Hotplug Driver Tuning Guide: Post 6
TCP Algorithms: Post 7
Other Important Information: Post 8
​
What is a CPU governor?


A CPU governor in Android controls how the CPU raises and lowers its frequency in response to the demands the user is placing on their device. Governors are especially important in smartphones and tablets because they have a large impact on the apparent fluidity of the interface and the battery life of the device over a charge. 

NOTE: You cannot change your CPU governor unless your phone is rooted and you have a ROM or app that lets you make a change. Also, different kernels (the intermediary software between your phone's hardware and the operating system) offer different sets of governors. 


Available CPU governors:



OnDemand
OnDemandX
Performance
Powersave
Conservative
Userspace
Min Max
Interactive
InteractiveX
Smartass
SmartassV2
Scary
Lagfree
Smoothass
Brazilianwax
SavageZen
Lazy
Lionheart
LionheartX
Intellidemand
Hotplug
Badass
Wheatley
Lulzactive
PegasusQ\PegasusD
HotplugX
Abyssplug
MSM DCVS
Intelliactive
Adaptive
Nightmare
ZZmove
Sleepy
Hyper 
SmartassH3
SLP
NeoX
ZZmanX
OndemandPlus
Dynamic Interactive (DynInteractive)
Smartmax
Ktoonservative\KtoonservativeQ
Performance may cry (PMC)
Dance Dance
AbyssPlugv2
IntelliMM
InteractivePro
Slim
Ondemand EPS  
Smartmax EPS
Uberdemand
Yankactive
Impulse
Bacon
Optimax
Preservative
Touchdemand
ElementalX
Bioshock
Blu_active
Umbrella_core
ConservativeX
Hyrdxq
DevilQ
Yankasusq
Darkness
Alucard
Hellsactive
Ragingmolasses
Virtuous
Sakuractive
InteractiveX v2
Alessa
GallimaufryX
AggressiveX
Tripndroid
Wrexy
Xperience
Stockdemand
Zeneractive
InteractiveB
Aggressive
IntellidemandV2
Boostactive
Wave
Barry-Allen
Arteractive
Precognition (PrecoGOV)
Mythx_plug
PegasusQPlus
Yankdemand
HyperX
Despair
Electroactive
Electrodemand
Lionfish
Interextrem
Cafactive
Lightning
ThunderX
sched-DVFS
Intel
Frankenstein
Cyan
TheSSJactive
Chill
sprdemand
Kraken
Ironactive
Nebula
Relaxed
Crazyactive
thenewbeginning
Cultivation
Schedutil
pwrutilx
blu_schedutil

Descriptions:

HMP Governors

*1: OnDemand:*

*Description:*
Ondemand is one of the original and oldest governors available on the linux kernel.  When the load placed on your CPU reaches the set threshold, the governor will quickly ramp up to the maximum CPU frequency. It has excellent fluidity because of this high-frequency bias, but it can also have a relatively negative effect on battery life versus other governors. OnDemand was commonly chosen by smartphone manufacturers in the past because it is well-tested and reliable, but it is outdated now and is being replaced by Google's Interactive governor. 


*2: OndemandX:*

*Description:*
Basically an ondemand with suspend/wake profiles. No further optimization was done to Ondemand to keep it close to source as possible. 


*3: Performance:*

*Description:*
The performance governor locks the phone's CPU at maximum frequency. 


*4: Powersave:*

*Description:*
The opposite of the Performance governor, the Powersave governor locks the CPU frequency at the lowest frequency set by the user.


*5: Conservative:*

*Description:*
This governor biases the phone to prefer the lowest possible clockspeed as often as possible. In other words, a larger and more persistent load must be placed on the CPU before the conservative governor will be prompted to raise the CPU clockspeed. Depending on how the developer has implemented this governor, and the minimum clockspeed chosen by the user, the conservative governor can introduce choppy performance. On the other hand, it can be good for battery life.

The Conservative Governor is also frequently described as a "slow OnDemand". The original and unmodified conservative is slow and inefficient. Newer and modified versions of conservative (from some kernels) are much more responsive and are better all around for almost any use. 


*6: Userspace:*

*Description:*
This governor, exceptionally rare for the world of mobile devices, allows any program executed by the user to set the CPU's operating frequency. This governor is more common amongst servers or desktop PCs where an application (like a power profile app) needs privileges to set the CPU clockspeed.


*7: Min Max*

*Description:*
Min Max is a governor that makes use of only min & maximum frequency based on workload... no intermediate frequencies are used! 


*8: Interactive:*

*Description:*
Interactive scales the clockspeed over the course of a timer set by the kernel developer (or user). In other words, if an application demands a ramp to maximum clockspeed (by placing 100% load on the CPU), a user can execute another task before the governor starts reducing CPU frequency. Because of this timer, Interactive is also better prepared to utilize intermediate clockspeeds that fall between the minimum and maximum CPU frequencies. It is significantly more responsive than OnDemand, because it's faster at scaling to maximum frequency.

Interactive also makes the assumption that a user turning the screen on will shortly be followed by the user interacting with some application on their device. Because of this, screen on triggers a ramp to maximum clockspeed, followed by the timer behavior described above. 

Interactive is the default governor of choice for today's smartphone and tablet manufacturers.

*9: InteractiveX:*

*Description:*
Created by kernel developer "Imoseyon," the InteractiveX governor is based heavily on the Interactive governor, enhanced with tuned timer parameters to better balance battery vs. performance. The InteractiveX governor's defining feature, however, is that it locks the CPU frequency to the user's lowest defined speed when the screen is off.


*10: Smartass*

*Description:*
Based on interactive, performance is on par with the “old” minmax and smartass is a bit more responsive. Battery life is hard to quantify precisely but it does spend much more time at the lower frequencies.
Smartass will also cap the max frequency when sleeping to 352Mhz (or if your min frequency is higher than 352 it will cap it to your min frequency).

This governor will slowly ramp down frequency when the screen is off and it could also let the frequency go to low making your phone unusable (if min frequency is not checked).  

*11: SmartassV2:*

*Description:*
Version 2 of the original smartass governor from Erasmux. The governor aim for an "ideal frequency", and ramp up more aggressively towards this freq and less aggressive after. It uses different ideal frequencies for screen on and screen off, namely awake_ideal_freq and sleep_ideal_freq. This governor scales down CPU very fast (to hit sleep_ideal_freq soon) while screen is off and scales up rapidly to awake_ideal_freq when screen is on. There's no upper limit for frequency while screen is off (unlike Smartass). So the entire frequency range is available for the governor to use during screen-on and screen-off state. The motto of this governor is a balance between performance and battery. 

*12: Scary*

*Description:*
A new governor wrote based on conservative with some smartass features, it scales accordingly to conservatives laws. So it will start from the bottom, take a load sample, if it's above the upthreshold, ramp up only one speed at a time, and ramp down one at a time. It will automatically cap the off screen speeds to whatever the kernel developer sets it too and will still scale accordingly to conservatives laws. So it spends most of its time at lower frequencies. The goal of this is to get the best battery life with decent performance. 


*13: Lagfree:*

*Description:*
Lagfree is similar to ondemand. Main difference is it's optimization to become more battery friendly. Frequency is gracefully decreased and increased, unlike ondemand which jumps to 100% too often. Lagfree does not skip any frequency step while scaling up or down. Remember that if there's a requirement for sudden burst of power, lagfree can not satisfy that since it has to raise cpu through each higher frequency step from current. Some users report that video playback using lagfree stutters a little.


*14: Smoothass:*

*Description:*
The same as the Smartass “governor” But MUCH more aggressive & across the board.


*15: Brazilianwax:*

*Description:*
Similar to smartassV2. More aggressive ramping, so more performance, less battery


*16: SavagedZen:*

*Description:*
Another smartassV2 based governor. Achieves good balance between performance & battery as compared to brazilianwax.


*17: Lazy:*

*Description:*
This governor from Ezekeel is basically an ondemand with an additional parameter min_time_state to specify the minimum time CPU stays on a frequency before scaling up/down. The Idea here is to eliminate any instabilities caused by fast frequency switching by ondemand. Lazy governor polls more often than ondemand, but changes frequency only after completing min_time_state on a step overriding sampling interval. Lazy also has a screenoff_maxfreq parameter which when enabled will cause the governor to always select the maximum frequency while the screen is off.


*18: Lionheart:*

*Description:*
Lionheart is a conservative-based governor which is based on samsung's update3 source.
The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.


*19: LionheartX*

*Description:*
LionheartX is based on Lionheart but has a few changes on the tunables and features a suspend profile based on Smartass governor.


*20: Intellidemand:*

*Description:*
Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. The original intellidemand behaves differently according to GPU usage. When GPU is really busy (gaming, maps, benchmarking, etc) intellidemand behaves like ondemand. When GPU is 'idling' (or moderately busy), intellidemand limits max frequency to a step depending on frequencies available in your device/kernel for saving battery. This is called browsing mode. 

To sum up, this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling, and (exits browsing mode) by behaving like ondemand when GPU is busy; to deliver performance for gaming and such. Intellidemand does not jump to highest frequency when screen is off. Faux no longer recommends intellidemand and believes that intellidemand users should switch to intelliactive for better optimizations and performance. 


*21: Hotplug:*

*Description:*
The Hotplug governor performs very similarly to the OnDemand governor, with the added benefit of being more precise about how it steps down through the kernel's frequency table as the governor measures the user's CPU load. However, the Hotplug governor's defining feature is its ability to turn unused CPU cores off during periods of low CPU utilization. This is known as "hotplugging."

*22: BadAss:*

*Description:*
Badass removes all of this "fast peaking" to the max frequency. To trigger a frequency increase, the system must run a bit with high load, then the frequency is bumped. If that is still not enough the governor gives you full throttle. (this transition should not take longer than 1-2 seconds, depending on the load your system is experiencing)
Badass will also take the gpu load into consideration. If the gpu is moderately busy it will bypass the above check and clock the cpu to max frequency, If the gpu is crushed under load, badass will lift the restrictions to the cpu.

*23: Wheatley:*

*Description:*
Building on the classic 'ondemand' governor is implemented Wheatley governor. The governor has two additional parameters. Wheatley works as planned and does not hinder the proper C4 usage for task where the C4 can be used properly. So the results show that Wheatley works as intended and ensures that the C4 state is used whenever the task allows a proper efficient usage of the C4 state. For more demanding tasks which cause a large number of wakeups and prevent the efficient usage of the C4 state, the governor resorts to the next best power saving mechanism and scales down the frequency. So with the new highly-flexible Wheatley governor one can have the best of both worlds. 

Wheatley is a more performance orientated governor as it scales more aggressively than ondemand and sticks with higher frequencies. 

*24:Lulzactive\LulzactiveQ:*

*Description:*
It's based on Interactive & Smartass governors.

Old Version: When workload is greater than or equal to 60%, the governor scales up CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step. When screen is off, frequency is locked to global scaling minimum frequency.

New Version: Three more user configurable parameters: inc_cpu_load, pump_up_step, pump_down_step. Unlike older version, this one gives more control for the user. We can set the threshold at which governor decides to scale up/down. We can also set number of frequency steps to be skipped while polling up and down.
When workload greater than or equal to inc_cpu_load, governor scales CPU pump_up_step steps up. When workload is less than inc_cpu_load, governor scales CPU down pump_down_step steps down.

*25: Pegasusq/Pegasusd*

*Description:*
The Pegasus-q / d is a multi-core based on the Ondemand governor and governor with integrated hot-plugging. It is quite stable and has the same battery life as ondemand). Ongoing processes in the queue, we know that multiple processes can run simultaneously on. These processes are active in an array, which is a field called "Run Queue" queue that is ongoing, with their priority values ​​arranged (priority will be used by the task scheduler, which then decides which process to run next).

To ensure that each process has its fair share of resources, each will run for a certain period and will eventually stop and then again placed in the queue until it is your turn again. If a program is terminated, so that others can run the program with the highest priority in the current queue is executed.

*26: Hotplugx*

*Description:*
It's a modified version of Hotplug and optimized for the suspension in off-screen

*27: AbyssPlug*

*Description:*
It's a Governor derived from hotplug, it works the same way, but with the changes in savings for more battery life.

*28: MSM DCVS*

*Description:*
A very efficient and wide range of Dynamic Clock and Voltage Scaling (DCVS) which addresses usage models from active standby to mid and high level processing requirements. It makes the phone's CPU smoothly scale from low power, from low leakage mode to blazingly fast performance.Only to be used by Qualcomm CPUs.

MSM is the prefix for the SOC (MSM8960) and DCVS is Dynamic Clock and Voltage Scaling. Makes sense, MSM-DCVS

*29: IntelliActive*

*Description:*
Based off Google's Interactive governor with the following enhancements:

1. self-boost capability from input drivers (no need for PowerHAL assist)
2. two phase scheduling (idle/busy phases to prevent from jumping directly to max freq
3. Checks for offline cpus and short circuits some unnecessary checks to improve code execution paths. Therefore, it avoids CPU hotplugging. 

Created by Faux

*30: Adaptive*

*Description:*
This driver adds a dynamic cpufreq policy governor designed for latency-sensitive workloads and also for demanding performance.

This governor attempts to reduce the latency of clock so that the system is more responsive to interactive workloads in lowest steady-state but to reduce power consumption in middle operation level, level up will be done in step by step to prohibit system from going to
max operation level.

*31:Nightmare *

*Description:*
A PegasusQ modified, less aggressive and more stable. A good compromise between performance and battery. In addition to the SoD is a prevention because it usually does not hotplug.

*32: ZZmoove*

*Description:*
The ZZmoove Governor by ZaneZam is optimized for low power consumption when the screen off, with particular attention to the limitation of consumption applications in the background with the screen off, such as listening to music. The unique feature with ZZmoove is that it has predefined profiles and allows profile switching. 

*33: Sleepy*

*Description:*
The Sleepy (formerly known as Solo) is an attempt to strike a balance between performance and battery power to create. It is based on Ondemand. It includes some tweaks like the Down_sampling variable and other features that set by the user through the sysfs of "echo" call. Sleepy is quite similar to Ondemandx.

*34: Hyper*

*Description:*
The Hyper (formerly known as kenobi) is an aggressive smart and smooth governor based on the Ondemand and is equipped with several features of Ondemandx suspend profiles. It also has the fast_start deep_sleep variable and detection features. In addition, the maximum frequency is in suspend mode 500Mhz or whatever the kernel developer sets it to. This is a more smoothness oriented governor which means that it is good for performance, without sacrificing much battery life.

*35: SmartassH3*

*Description:*
The SmartassH3 governor is designed for battery saving and not pushing the phones performance, since doing that drains battery and that's the one thing people keep asking for more of. Based on SmartassV2.

*36: SLP *

*Description:*
It is a mix of pegasusq and ondemand. Therefore, it has a balance between battery savings and performance.

*37: NeoX *

*Description:*
An optimized version of the pegasusq governor but with some extra tweaks for better performance. This means slightly more battery drainage than the original PegasusQ but it is still a balanced governor. 

*38. ZZmanx*

*Description:*
ZZmanx is exactly the same as ZZmoove, but it has been renamed because DorimanX made it into his own version (possibly better performance) . However, it still suffers from below average gaming performance. (Refer to ZZmoove description for guide on profiles)

*39. OnDemandPlus*

*Description:*
Ondemandplus is an ondemand and interactive-based governor that has additional power-saving capabilities while maintaining very snappy performance. While the interactive governor provides a modern and sleek framework, the scaling logic has been been re-written completely. Reports have found that users find ondemandplus as a more battery friendly governor. In ondemandplus, the downscaling behavior from ondemand is only very slightly modified. However, the upscaling has been modified to not scale up to maximum frequency immediately.

*40. Dynamic Interactive (DynInteractive)*

*Description:*
This governor dynamically adjusts itself according to load. That means it's settings are dynamic (always changing) and not static (not changing). Dyninteractive still obtains the same great balance between battery life and performance found in the original interactive governor and improves it even further. This is not the same as the original interactive governor because of this unique behavior. 

*41. Smartmax*

*Description:*
Smartmax is a mix between ondemand and smartassv2. It behaves mostly like smartass with the concept of an "ideal" frequency. By default this is configured for battery saving, so this is NOT a gaming or benchmark governor! Additionally, to make it "snappy", smartmax has "touch poke". So input events from the touchscreen will boost the cpu for a specific time to a specific frequency. Developed by XDA user Maxwen.

*42. Ktoonservative\KtoonservativeQ*

*Description:*
Ktoonservative is based on the Conservative governor, but with the addition of new tunable variables and hotplugging. It aims to be very responsive while also being good at saving battery. This governor is highly configurable and is found in ktoonsez's kernels. 

*43. Performance may cry (PMC)*

*Description:*
A governor based on Smartmax except it's heavily tweaked for better and maximum battery life. This is not a gaming governor!

*44. Dance Dance*

*Description:*
Based on conservative with some smartass features, it scales accordingly to conservatives laws. So it will start from the bottom, take a load sample, if it's above the upthreshold, ramp up only one speed at a time, and ramp down one at a time. It will automatically cap the off screen speeds to 245Mhz, and if your min freq is higher than 245mhz, it will reset the min to 120mhz while screen is off and restore it upon screen awakening, and still scale accordingly to conservatives laws. So it spends most of its time at lower frequencies. The goal of this is to get the best battery life with decent performance. It is a performance focused governor but also blends with some battery savings. 

*45. AbyssPlugv2*

*Description:*
AbyssPlugv2 is a rewrite of the original CPU governor. It also fixes the problem where the governor is set only for the first core, but now governs all cores right from whatever utility you use. There have been comments on the lack of stability with this governor. 

*46. IntelliMM*

*Description:*
A rewrite of the old Min Max governor and has 3 cpu states: Idle, UI and Max. Intelliminmax (intellimm) governor is designed to work with the newer SOCs with fixed voltage rails (ie MSM8974+ SOCs). It is designed to work within those fixed voltage ranges in order to maximize battery performance while creating a smooth UI operations. It is battery friendly and spends most of the time at lower frequencies. 

*47. Interactive Pro*

*Description:*
A newer (modified) version of interactive which is optimized for devices such as the One Plus One. It is a more efficient than the original Interactive because it continuously re-evaluates the load of each CPU therefore allowing the CPU to scale efficiently.

*48. Slim*

*Description:*
A new governor from the cm branch and the slimrom project. This is a performance optimized governor and has been tuned a lot for newer devices such as the One Plus One. 

*49. Ondemand EPS*

*Description:*
A modified version of Ondemand and is optimized for newer devices. It is based on the Semaphore Kernel's Ondemand which is more optimized for battery life. The EPS at the end stands for Extreme power savings so this governor is biased to power savings!

*50. Smartmax EPS*

*Description:*
This governor is based on Smartmax but is optimized for 'Extreme Power Saving' (hence the EPS suffix). This means it uses less battery than the original Smartmax so it is not a very good gaming governor (again!) This is only found on newer devices.


----------



## Saber (Mar 8, 2015)

*51. Uberdemand*

*Description:*
Uberdemand is Ondemand with 2-phase feature meaning it has a soft cap at 1728 MHz so your cpu won't always go directly to max, made by Chet Kener.

*52. Yankactive*

*Description:*
A slightly modified interactive based governor by Yank555.lu. It has battery tweaks added onto it so expect better battery life! Based on user reports, this governor behaves more battery friendly than the original interactive governor without sacrificing performance. 

*53. Impulse*

*Description:*
 An improved version of interactive modified by neobuddy89. Impulse aims to have a balance between battery and performance just like interactive but has some tweaks to save battery. 

*54. Bacon*

*Description:*
This is nothing but polished interactive governor branded as "bacon" since it was adapted from bacon device thanks to neobuddy89. Most of the tweaks are for performance/latency improvements

*55. Optimax governor*

*Description:*
Ondemand based with some enhancements from LG, particularly to freq boost handling so it will boost to a set level, almost like HTC's governor. It has different tunables to the HTC governor but it behaves pretty similar, the tunables it comes with default are a bit more conservative. It originates from Cl3kener's Uber kernel for Nexus 5, where it has quite a reputation for battery life

*56. Preservative governor*

*Description:*
Preservative is a conservative based governor. The idea is that it will stay at the step specified (702MHz selected by the creator Bedalus) unless needed. You will notice it will hover around 702 a lot, and not go above too much, and only to min freq when NOTHING is happening at all. This is most beneficial when you are doing something like reading; the screen is static or playing light games that won't need boosting any more. The governor comes from Moob kernel for nexus 4

*57. Touchdemand*

*Description:*
Touchdemand is based on the ondemand cpu governor but has been modified for the Tegra 3 chip (tablet only) and has additional tweaks for touchscreen responsiveness.

*58. ElementalX*

*Description:*
By default, it is more conservative than Ondemand as it does not ramp up often for most phone activities. If there is a graphics load detected, the governor will switch to a two-phase Ondemand behaviour where different max frequencies are used depending on the load increase. ElementalX comes with input boost enabled by default lowering the sampling rate and increasing the frequency to improve responsiveness.

*59. Bioshock*

*Description:*
CPU governor developed by Jamison904. A mix of ConservativeX and Lionheart

*60. Blu_active*

*Description:*
A governor developed by eng.stk (featured in his Code_Blue kernels) based on interactive with upstream caf patches and ondemand governor bits too.  This governor is mainly focused on performance like the other things the developer creates but it is also well balanced for gaming and general usage.  

*61. Umbrella_core*

*Description:*
A governor by twisedumbrella based on interactive that is focused on battery life and not performance. It will still ramp up to a set frequency but will not stay at high frequencies for long. This governor tends to stay in high-mid range frequencies during screen_off. 

*62. ConservativeX*

*Description:*
Developed by Imoseyon (feat. briefly in the Lean Kernel for Galaxy Nexus), the ConservativeX governor behaves like the Conservative governor with the added benefit of locking the CPU frequency to the lowest interval when the screen is off. This governor may additionally perform hotplugging on CPU1, but there is no documentation to confirm that suspicion at this time.

*63. HydrxQ*

*Description:*
Simply a lulzactiveq governor with tweaks to performance (thanks to tegrak). This means more performance and less battery life. 

*64. DevilQ*

*Description:*
An aggressive pegasusq governor which keeps the hotplugging at max 2 cpu cores to offline). This is pretty much a more optimized pegasusq for phone's with quad core processors.

*65. YankasusQ*

*Description:*
Yankasusq is another modified pegasusq but with including screen off freq tunable and some other modifications as well. The difference between PegasusQ and YanksusQ is that it doesn't ramp too aggressively when screen turns on (less battery drainage).

*66. Darkness*

*Description:*
It's based on nightmare but more simple and fast, basic configs but very complex structure. It is an updated nightmare gov and improved stability, so far it is quite stable in tests

*67. Alucard*

*Description:*
Alucard is based on ondemand but has been heavily tweaked to bring better battery life and performance. It has been known to be battery friendly without sacrificing much performance.

*68. Hellsactive*

*Description:*
A heavily modified intelliactive governor by @hellsgod that has been tweaked to improve battery life. Hellsactive is less aggressive compared to intelliactive so the battery life will be more like the original interactive. 

*69. Ragingmolasses*

*Description:*
Besides a gov with an awesome name its a mash up of conservative and ondemand and scales based on load with few tunables. Its meant to be simple, fast, and efficient at keeping the frequency away from the max clock unless it is absolutely needed. it includes gboost for better gaming.

*70. Virtuous*

*Description:*
It sets your max cpu for wake and sleep and changes the governor when your device is awake or asleep. It saves battery by lowering cpu frequencies while the device sleeps, when it awakes it automatically speeds it up again. Or alternately you can set the cpu. It is based on smartassV2(It uses 2 governors, one for sleep and other for awake)

*71. Sakuractive*

*Description:*
An aggressive hybrid of ondemand and hotplug, which means it will scale like ondemand, except a little more aggressive. But also acts like hotplug as it shuts down multiple CPU cores to save power.

*72. InteractiveX V2*

*Description:*
Developed by Imoseyon (feat. in the Lean Kernel for Galaxy Nexus), the InteractiveX V2 governor behaves like InteractiveX, and additionally forces CPU1 into a hotplug state when the screen is off.

*73. Alessa*

*Description:*
A less aggressive and more stable ondemand modified by TeamMex. A good compromise between performance and battery. It can be used with the complementary hotplug governor. Please note that this governor is still a WIP! 

*74. GallimaufryX*

*Description:*
A modded ondemand that is a 2-stage ondemand governor with speed tweaks. It includes imoseyon's screen-off hotplugging code.

*75. AggressiveX*

*Description:*
A modded conservative governor but with lots of tweaks to increase snappiness while saving power. It also includes imoseyon's screen-off hotplugging code.

*76. Tripndroid*

*Description:*
Tripndroid is based on ondemand with extra tweaks for performance

*77. Wrexy*

*Description:*
Wrexy is a conservative based governor but is also similar to the Lionheart gov. It tends to stay out of higher frequencies to favor lower frequencies but performance is not much affected. 

*78. Xperience *

*Description:*
A tweaked smartassv2 for better performance. Created by TeamMex. 

*79. Stockdemand*

*Description:*
A heavily modified ondemand for better performance and battery life. 

*80. Zeneractive*

*Description:*
Based on the interactive governor, it handles frequency scaling the exact same as interactive and has the same tunables as interactive for frequency scaling. However, all of the new hotplugging code is written "from scratch." 

*81. InteractiveB*

*Description:*
An interactive based governor with a more balanced battery life/performance profile

*82. Aggressive*

*Description:*
Like Lionheart, it is based on conservative, but even more aggressive

*83. Intellidemandv2*

*Description:*
Much like its predecessor, intellidemandv2 is an intelligent ondemand with browsing detection and scales based on GPU loading. It has been optimized for specific devices and has better battery life and performance. 

*84. Boostactive*

*Description:*
Based on Interactive but with cpu frequency boosting capabilities. This is performance oriented governor. 

*85. Wave*

*Description:*
Based on Conservative with some tweaks for speed and battery. This governor was created by zparallax. 

*86. Barry-Allen*

*Description:*
It's based on interactive. The governor is supposed to be more battery friendly and at the same have good performance.

*87. Arteractive*

*Description:*
It is an interactive CPU governor port from newer source code. It has more optimizations for Snapdragon 80x processors.

*88. Precognition (PrecoGOV)*

*Description:*
PrecoGOV takes over and dynamically adapts to your usage pattern. To achieve such goal, PrecoGOV manages the frequency, idle & sleep patterns, hotplugging, temperature per core and even gpu and tries to help the scheduler as best as it can, all while taking into account battery and thermal constraints. 

*89. Mythx_plug*

*Description:*
It's based on an improved Interactive governor and has been modified to scale up slower and scale down faster. It is a battery friendly governor. 

*90. PegasusQPlus*

*Description:*
PegasusQPlus is a heavily tweaked PegasusQ governor, which has been implemented by AndreiLux in his Perseus kernel. PegasusQPlus should have a better balance between performance and battery usage.

*91. Yankdemand*

*Description:*
Full stock (JB) ondemand governor with changed default tunable values aimed at lower battery consumption

*92. HyperX*

*Description:*
A tweaked interactive based governor for performance.

*93. Despair*

*Description:*
It is a tweaked conservative governor with a couple extra values exposed, it tends to be a bit more conservative with battery than the conservative governor by default. Developed by DespairFactor.

*94. Electroactive*

*Description:*
This governor is the replacement over the original electrodemand governor, being much more battery friendly with much smoother transitions compared to the original. It is a hybrid class governor, using a unique way to merge the best of both interactive and ondemand. It includes some extra additions and enhancements to be more battery saving than interactive governor and some boost tunes and additions that allow better power management and performance in games as well as better power saving when in normal use. CPU boost, graphics boost, fast_start deep_sleep and detection features are built in as well as 300 MHz clock speed in suspend. 

*95. Electrodemand*

*Description:*
Based on the ondemand cpu governor, this is the older governor that was used in the electroactive kernel which uses the same tunables found in the original ondemand governor. 

*96. Lionfish*

*Description:*
The Lionfish governor combines traits of the conservative, ondemand, and interactive governors. It is designed to maximize battery life without noticeably impacting performance. It responds quickly to heavy loads  while staying within the region of optimal CPU performance per watt. With moderate loads, it periodically votes to raise, maintain, or decrease the frequency. When there are enough votes to change the frequency, it is ramped up and down gradually. The voting mechanism reduces frequency jitter compared to ondemand and conservative. squid2's testing had found that this governor uses moderate frequencies (where efficiency is optimal) more effectively than interactive, ondemand, and conservative. This improved frequency distribution results in a moderate reduction in CPU power consumption while maintaining responsiveness comparable to the interactive governor.

*97. Interextrem*

*Description:*
A tweaked interactive governor by thehacker911. It is found in hacker kernel s6, where it has been tuned for better performance while still maintaining good battery life. 

*98. Cafactive*

*Description:*
Found in arter97's kernels, cafactive is the qualcomm optimized version of interactive from CodeAurora. This version promises to bring greatly enhanced performance over samsung's own version of interactive (benchmarks have shown a increase in performance scores), however it may be unstable on some devices and may cause some performance issues under normal and heavy operation. 

*99. Lightning*

*Description:*
Lightning is modified darkness gov made by @HridayHS 

*100. ThunderX*

*Description:*
ThunderX is a power saving CPU governor based on SmartAssv2 optimized for Mediatek SoCs. 

*101. Intel*

*Description:*
It's an interactive based governor that is optimized for Intel devices. It is thought to be more battery friendly than interactive while still having good performance. Found only on intel based SOCs. 

*102. Frankenstein*

*Description:*
Based on interactive with hotplugging, it is a performance oriented governor but aims to save battery when screen is off. However, it may be unstable on some devices. Found only on intel based SOCs. 

*103. Cyan*

*Description:*
Cyan is an interactive based CPU governor intended for heavy gaming and processes. It was originally developed for the i9500, but is now found in kernels for devices with intel SOCs.

*104. TheSSJactive*

*Description:*
TheSSJactive is based on yankactive but with the addition of hotplugging support for intel SOCs. It is known to be a battery friendly governor. 

*105. Chill*

*Description:*
A conservative based governor by frap129 (Electron kernel). It's aims to provide more aggressive battery savings while screen is off.

*106. sprdemand*

*Description:*
A modded ondemand governor with functionality to offline CPUs when screen is off. It has thermal control logic implemented into the governor.  

*107. Kraken*

*Description:*
Based on ElementalX but with tweaks for better performance while remaining well balanced. Found in Kraken Kernel by Team OctOS. 

*108. Ironactive*

*Description:*
Based on the latest CAF 4.4 version of interactive without any additional modifications. It is found in @Tkkg1994's superkernel for the Samsung Galaxy S7. 

*109. Nebula*

*Description:*
A port of the Interactive governor based on msm-4.4 sources with some mods for the HTC 10, preserving the excellent balance between performance and battery life found in many other Interactive based govs. It originated from Eliminater74's Nebula kernel and was a popular choice prior to the introduction of EAS scheduling to the kernel. 

*110. Relaxed*

*Description:*
Relaxed is based on chill, and has been altered in order to achieve more gradual frequency boosting providing battery life benefits. Relaxed uses a boost ceiling variable in order to achieve this. Rather than boosting straight to the max frequency, relaxed finds the difference between boost_counter and boost_ceiling, then boosts to max minus that difference. This governor doesn't completely replace chill, but is intended to be used alongside it. 

*111. Crazyactive*

*Description:*
A modified Interactive governor by @CrazyGamerGR that has been biased more towards performance. 

*112. thenewbeginning*

*Description*
A modified Alucard governor by varunhardgamer that has been biased more towards performance.

*113. Cultivation*

*Description*
A highly modified interactive-based governor with the intention of giving the user more control by providing more tuning options. Based on CAF 4.4 commits with parts coming from blu_active and XDA user Sultanxda. 

EAS Governors

*114. schedutil*

*Description:*
schedutil is a new EAS governor found in recent versions of the Linux Kernel (4.7+) that aims to integrate better with the Linux Kernel scheduler. It uses the kernel's scheduler to receive CPU utilisation information and make decisions from this input. As a direct result, schedutil can respond to CPU load faster and more accurate than normal governors such as Interactive that rely on timers. 

*115. pwrutilx*

*Description:*
A new EAS governor based on schedutil that aims to be much more efficient by using a different formula to get next frequency.

*116. blu_schedutil*

*Description:*
blu_schedutil is an unmodified version of the Pixel 3 schedutil governor which promises better battery savings over traditional schedutil.

Hotplugging drivers:

*1. mpdecision:* 

*Description:*
Qualcomm's default hotplugging driver. One of the most widely used hotplug drivers in all android devices. 

*2.msm_hotplug:* 

*Description:*
Great battery life, a custom qualcomm based hotplugging driver by myflux. It is a popular choice for many users. 

*3. intelliplug: * 

*Description:*
A popular hotplug from faux123 that is highly customisable and provides a great balance between battery and performance.

*4. Alucard:* 

*Description:*
A great hotplugging driver by Alucard. It is known to be very battery friendly on devices. 

*5. Kt Auto Hotplug:* 

*Description:*
A great hotplug driver by Ktoonsez. Pretty much a smarter mpdecision that has been optimized for quad-core devices. 

*6. Mako Hotplug: *

*Description:*
A popular hotplug driver found in Franco kernel. Franco didn't like how closed sourced MPdecision worked and so he created this driver as a direct replacement. It always keep 2 cores online and will online additional cores based on load conditions. 

*7. Zen Decision:* 

*Description:*
ZEN only onlines all cores when screen is on, it also takes thermal events into account and wont online any core back, if you're under 15% battery, or currently have a thermal event because of heat. So in the end it isn't a "real" hotplug driver, because it doesnt have any code for active hot plugging in it. That means you can't change its behavior.

*8. Bricked Hotplug:* 

*Description:*
Conservative hotplug driver by @show-p1984. It is based on mpdecision but has been optimized for better balance between battery life and performance. 

*9. msm_sleeper:* 

*Description:*
The main feature with this hotplug is that you can customize the screen off frequency. Two cores are always on, the third and fourth are independent and come online if needed. By default, if the load is over 80 for 400ms another core comes online. The third and/or fourth cores stay online as long as the load demands it or for a minimum of one second. While the screen is off, it goes down to a single core. Created by flar2. 

*10. Autosmp:* 

*Description:*
A highly-efficient hotplug driver by @mrg666, works in-sync with the CPU governor to enable off-line cpu cores when the the CPU frequency reaches a high threshold and still more compute power is needed. Therefore, touch boost bloat is removed. 

*11. Thunderplug:* 

*Description:*
A matured load-based hotplug driver with many tunables written from ground up by varun.chitre15. This hotplug is optimized for octa-core devices and also has support for 64bit CPUs.

*12. Blu_plug: *

*Description:*
Dynamic hotplug from eng.stk's shamu kernel with screenoff battery saving. 

*13. cpuquiet:* 

*Description:*
A hotplug driver by NVidia and ported to Snapdragon by maxwen. Originally made for NVidia tegra SOCs. It has a set of governors which keep the CPU running at optimal frequencies for battery and performance. 

*14. Fast hotplug:* 

*Description:*
A hotplug driver from pec0ra's abricot kernel. It aims to be as lightweight as possible while also being highly customizable. However, it is still a WIP as it is known to have some stability issues. 

*15. Hima hotplug:* 

*Description:*
An optimized hotplug driver based on intelliplug for big.LITTLE architecture. Found on chadouming's HTC One (M9) kernel, it takes advantage of the big and LITTLE CPU cores in order to provide 'butter smooth' performance. 

*16. State Helper:* 

*Description:*
A hotplug driver by @neobuddy89 designed with the Nexus 6 in mind. It is highly configurable giving the user control over what CPUs to online based on what battery threshold levels have been set. Another feature that sets state helper apart from other hotplug methods is that it respects the thermal driver. 

*17. ZZmoove native hotplug:* 

*Description:*
The hotplugging logic found in the ZZmoove governor. This isn't a standalone hotplug driver that can be used with other governors, the hotplugging is done by the governor which was common on older devices like the Samsung Galaxy S3. Native hotplugging may offer better stability and the governor should perform better in battery life and performance (your experience may vary) because it was designed for this specific governor. 

*18. Lazyplug* 

*Description:*
A hotplug from arter97 that leaves CPU cores on for most of the time with the exception of some situations where leaving all cores on could be battery draining (e.g. Video playback). The purpose behind this is to improve performance & battery life by removing excess CPU overheads caused by unnecessary hotplugging where similar techniques are already employed in Samsung and Nexus firmwares. 


GPU governors

*1. Simple: *

*Description:*
An open-source alternative to Qualcomm's closed-sourced governors.  Developed by Faux123, it is highly customisable which will allow more fine-grained control over how the GPU scales up and down. 

*2. simple_ondemand: *

*Description:*
As the name implies, it is a simpler version of the CPU governor ondemand. simple_ondemand will ramp up the frequency when a load is detected. It has a good balance between performance and battery savings. 

*3. msm-adreno-tz:* 

*Description:*
The default GPU governor used by Qualcomm for their adreno GPUs. It is based on the ondemand governor but is biased towards performance, therefore it should give better performance in games but less battery life. 

*4. Performance: *

*Description:*
As the name suggests, this keeps your GPU running at the max frequency. This is a governor if you want the best possible experience in games but you don't care about your battery life. 

*5. Powersave:* 

*Description:*
Like the CPU governor, this keeps your GPU running at the lowest possible frequency. Best battery life, extreme lag in games. 

*6. Adreno Idler:* 

*Description:*
It is an idling algorithm, an efficient workaround for msm-adreno-tz's overheads. Main goal is to lower the power consumptions while maintaining high-performance. Since msm-adreno-tz tends to *not* use the lowest frequency even on idle, Adreno idler replaces msm-adreno-tz's algorithm when it comes to calculating idle frequency(mostly by ondemand's method). The higher frequencies are not touched with this algorithm, so high-demanding games will (most likely) not suffer from worsened performance.

*7. Userspace:* 

*Description:*
This governor basically allows the user is able to set a desired frequency for the GPU to run at. 

*8. cpubw_hwmon:* 

*Description:*
A hardware monitor based governor that attempts to determine bandwidth (BW) needed by CPU and other hardware. Because it samples bandwidth using polling intervals, it has been made to be biased towards performance to compensate for the possible slower response times during heavy loads. 

*9. MSM Cpufreq:* 

*Description:*
The MSM CPUfreq governor determines the CPU to DDR bandwidth vote based on the current CPU frequency of all the active CPUs. In other words, this governor scales based on CPU usage which could mean more performance.


Benchmark graphs:







Link to raw data: https://drive.google.com/file/d/0B3ApZsjOd2bzWDRnQjRsUTlLSlE/view?usp=sharing

Here are more graphs (thanks to Haldi!)





Having trouble seeing the graph above? Here is the direct link to the image: http://i.imgur.com/PbtNyab.png






For more info about Haldi's benchmarks, visit here: http://forum.xda-developers.com/showthread.php?t=2768979

Recommendations

*Overall:*

Interactive (or balanced variants)
zzmoove (default or optimized profile)
Ondemand
PegasusQ (Works well on some older devices)
Impulse

*Battery Saving:*

Conservative (tuned, or battery saving variants)
Ondemand (tuned, or battery saving variants)
Smartmax
Powersave
Alucard
zzmoove (tuned, change to battery profile)

*Performance oriented:*

Interactive (tuned, or performance oriented variants)
Intelliactive (preferred over intellidemand)
Performance
Nightmare
Blu_active
Lionheart


----------



## Saber (Mar 8, 2015)

I/O Schedulers

Why change your phones I/O Scheduler?

Most phone manufacturers keep your phone's I/O scheduler locked, so users are unable to modify any values which could change the performance of your phone. However, once your phone is rooted, you can change these values allowing the potential to boost your phones performance and even slightly increase battery life. Here is a thorough guide on all of the common i/o schedulers.
What is an I/O Scheduler:

Input/output (I/O) scheduling is a term used to describe the method computer operating systems decide the order that block I/O operations will be submitted to storage volumes. I/O Scheduling is sometimes called 'disk scheduling'.

*I/O schedulers can have many purposes depending on the goal of the I/O scheduler, some common goals are:*

- To minimise time wasted by hard disk seeks.
- To prioritise a certain processes' I/O requests.
- To give a share of the disk bandwidth to each running process.
- To guarantee that certain requests will be issued before a particular deadline.

Which schedulers are available? 


CFQ  
Deadline  
VR  
Noop 
BFQ
FIOPS (Fair IOPS)
SIO (Simple I/O)
ROW
ZEN
SIOplus
FIFO (First in First Out)
Tripndroid
Test
Maple


I/O Scheduler Descriptions:

*CFQ:*
Completely Fair Queuing scheduler maintains a scalable per-process I/O queue and attempts to distribute the available I/O bandwidth equally among all I/O requests. Each per-process queue contains synchronous requests from processes. Time slice allocated for each queue depends on the priority of the 'parent' process. V2 of CFQ has some fixes which solves process' i/o starvation and some small backward seeks in the hope of improving responsiveness.

Benefits: 
- Generally performs the best in throughput tests 
- Very stable, is the default Linux kernel I/O scheduler for many desktops and mobile devices
- Performs well on spinning storage and even on solid state storage for mixed workloads
- Generally seen as well balanced 
- Processes requiring more I/O resources can be prioritised higher (such as indexing, system maintenance)

Disadvantages: 
- I/O latency can be somewhat poor
- There is some scheduling overhead, although probably not too noticeable in tests and real world usage

*The bottom line:* One of the best all-rounder I/O schedulers available. CFQ is better suited for traditional hard disks, however it may give better throughput under some situations.

*Deadline:*
The goal of the Deadline scheduler is to attempt to guarantee a start service time for a request. It does that by imposing a deadline on all I/O operations to prevent starvation of requests. It also maintains two deadline queues, in addition to the sorted queues (both read and write). Deadline queues are basically sorted by their deadline (the expiration time), while the sorted queues are sorted by the sector number.

Before serving the next request, the Deadline scheduler decides which queue to use. Read queues are given a higher priority, because processes usually block on read operations. Next, the Deadline scheduler checks if the first request in the deadline queue has expired. Otherwise, the scheduler serves a batch of requests from the sorted queue. In both cases, the scheduler also serves a batch of requests following the chosen request in the sorted queue.

Benefits: 
- Excels in reducing latency of any given single I/O 
- Can perform better than CFQ in certain workloads
- Performs well in (most) benchmarks 
- Generally low scheduling overhead
- Very stable, default in recent Linux kernel versions

Disadvantages: 
- Less I/O throughput than CFQ
- No ability to prioritise I/O bound processes over others

*The bottom line:* A good all-round scheduler. If you want good performance, you should try deadline. 


*ROW:*
The ROW I/O scheduler was developed with the mobile devices needs in mind. In mobile devices, we favor user experience upon everything else, thus we want to give READ I/O requests as much priority as possible. In mobile devices we won't have as much parallel threads as on desktops. Usually it's a single thread or at most 2 simultaneous working threads for read & write. Favoring READ requests over WRITEs decreases the READ latency greatly. The main idea of the ROW scheduling policy is: If there are READ requests in pipe - dispatch them but don't starve the WRITE requests too much. 

Benefits:
- Low read latency, better for responsiveness and task switching
- Generally stable, has been adopted in many kernels 

Disadvantages:
- Potentially higher write latency, reducing write performance

*The bottom line:* It is a good all-round scheduler despite being biased to read operations. Your device may feel more responsive after selecting ROW because it was designed for mobile devices. Older devices may see more of a boost in performance compared to newer devices.

*SIO (Simple I/O):*
Simple I/O aims to keep minimum overhead to achieve low latency to serve I/O requests. No priority queue concepts, but only basic merging. SIO is a mix between Noop & deadline. No reordering or sorting of requests.

Benefits: 
- Generally low I/O latency, better for responsiveness 
- Very stable

Disadvantages: 
- Performs poorly in benchmarks 

*The bottom line:* One of my favourite schedulers, it is a good all-round scheduler. People who want better performance should avoid using this. 

*Noop:*
Inserts all the incoming I/O requests to a First In First Out queue and implements request merging. Best used with storage devices that does not depend on mechanical movement to access data (yes, like our flash drives). Advantage here is that flash drives does not require reordering of multiple I/O requests unlike in normal hard drives.

Benefits: 
- Low I/O latency, better responsiveness
- Very low scheduling overhead
- Very stable, used as default for some systems with solid state drives

Disadvantages: 
- Performs poorly in benchmarks 

*The bottom line:* Modern smartphones now use Noop as the default scheduler due to the fact that it works quite well with flash based storage. However older devices may experience slower performance when selected.  If you want a very simple I/O scheduler algorithm (because of battery life or latency reasons), you can select this. 

*VR:*
Unlike other scheduling software, synchronous and asynchronous requests are not handled separately, but it will impose a fair and balanced within this deadline requests, that the next request to be served is a function of distance from the last request.

Benefits:
- Generally excels in random writes. 

Disadvantages: 
- Sometimes unstable and unreliable

*The bottom line:* Not the best scheduler to select. You will probably find that other schedulers are performing better while being more stable. 

*BFQ:*
Instead of time slices allocation by CFQ, BFQ assigns budgets. Disk is granted to an active process until it's budget (number of sectors) expires. BFQ assigns high budgets to non-read tasks. Budget assigned to a process varies over time as a function of it's behavior.

Benefits: 
- Good I/O throughput, sometimes matching CFQ in performance
- Better I/O latency than CFQ, better responsiveness 
- Well balanced, even more so than CFQ
- Generally stable, default in some custom kernels and Linux distributions

Disadvantages: 
- Performs poorly in benchmarks, sometimes a lot worse in some areas  

*The bottom line:* There are better schedulers out there that will perform better than BFQ. It is quite a complex scheduler that is better designed for traditional hard disks. 

*ZEN:*
ZEN is based on the Noop, Deadline and SIO I/O schedulers. It's an FCFS (First come, first serve) based algorithm, but it's not strictly FIFO. ZEN does not do any sorting. It uses deadlines for fairness, and treats synchronous requests with priority over asynchronous ones. Other than that, it's pretty much the same as Noop blended with VR features. 

Benefits:
- Excels in I/O latency, good for responsiveness
- Very stable
- Generally seen as well balanced

Disadvantages:
- There is some scheduling overhead, but less than CFQ


*The bottom line:* It is pretty much a better version of VR, performs quite well and is stable. Overall this is a good choice for most smartphones. 

*SIOplus:*
Based on the original SIO scheduler with improvements. Functionality for specifying the starvation of async reads against sync reads; starved write requests counter only counts when there actually are write requests in the queue; fixed a bug). 

Benefits:
- Better I/O latency than SIO in certain workloads  

Disadvantages:
- Still performs about the same as SIO in benchmarks

*The bottom line:* If you liked SIO, you will like SIOplus. It performs slightly better in some usage case scenarios, but performance seekers should look else where. 

*FIOPS (Fair IOPS): *
This new I/O scheduler is designed around the following assumptions about Flash-based storage devices: no I/O seek time, read and write I/O cost is usually different from rotating media, time to make a request depends upon the request size, and high through-put and higher IOPS with low-latency. FIOPS (Fair IOPS) I/O scheduler tries to fix the gaps in CFQ. It's IOPS based, so it only targets for drive without I/O seek. It's quite similar like CFQ, but the dispatch decision is made according to IOPS instead of slice.

Benefits:
- Generally has good I/O latency, performs well in some benchmarks 
- Like CFQ, has some scheduling overhead

Disadvantages:
- On certain configurations, people may experience issues with stutters in day-to-day device usage
- Not the most stable scheduler

*The bottom line:* Most people who use FIOPS will get a noticeable performance improvement. However, you may get issues with scrolling and general lags. 

*FIFO (First in First Out):*
First in First Out Scheduler. As the name says, it implements a simple priority method based on processing the requests as they come in.

Benefits: 
- Low I/O latency, better responsiveness
- Very low scheduling overhead
- Very stable, used as default for some systems with solid state drives

Disadvantages: 
- Performs poorly in benchmarks 


*The bottom line:* Like Noop, but is less common. If you want a very simple I/O scheduler algorithm (because of battery life or latency reasons), you can select this. 

*Tripndroid:*
A new I/O scheduler based on Noop, deadline and vr and meant to have minimal overhead. Made by TripNRaVeR

Benefits:
- Excels in I/O latency, good for responsiveness, sometimes better with some tuning
- Should be stable, however is not adopted widely
- Generally seen as well balanced

Disadvantages:
- There is some scheduling overhead, but less than CFQ

*The bottom line:* Tripndroid isn't very common. There are other schedulers you can choose which may perform similar or better. However it is a good all-round scheduler. 

*Test:*
The test I/O scheduler is a duplicate of the Noop scheduler with addition of test utility. It allows testing a block device by dispatching specific requests according to the test case and declare PASS/FAIL according to the requests completion error code.

Benefits:
- Same as Noop, but can be beneficial to kernel developers

Disadvantages:
- Same as Noop

*The bottom line:* Shouldn't really be used by anyone. You should be using Noop instead of this. 

*Maple:*
Maple is based on the Zen and Simple I/O schedulers. It uses ZEN's first-come-first-serve style algorithm with separate read/write requests and improved former/latter request handling from SIO. Maple is biased towards handling asynchronous requests before synchronous, and read requests before write. While this can have negative aspects on write intensive tasks like file copying, it slightly improves UI responsiveness. When the device is asleep, maple increases the expiry time of requests so that it can handle them more slowly, causing less overhead.

Benefits:
- Well rounded
- Designed for mobile devices in mind
- Better I/O latency than ZEN in certain workloads

Disadvantages:
- May be unstable on some devices 

*The bottom line:* This is still a very new I/O scheduler which should perform slightly better than ZEN. It will continue to improve with more development.

*Anxiety:*

Anxiety doesn't separate asynchronous and synchronous requests because asynchronous ones are rarely seen. It prioritizes reads over writes just like Maple, but tends to starve writes more (this is tunable). It is based on noop with a basic first-in-first-out algorithm, whereas Maple is based on deadline with time tracking for expiration. This makes Anxiety better on battery than Maple, as well as fast. It prioritizes latency over throughput which means that requests happen quicker but transfer data slower.  

Benefits:
- Designed for mobile devices in mind
- Possibly more battery savings compared to Maple 

Disadvantages:
- Data transfers and write speeds may be slower

*Multi-queue schedulers:*

If you have a fairly recent phone, the chances are that you are able to use multi-queue (MQ) I/O schedulers. It comes from recent works from the upstream *Linux kernel* as devices are becoming more powerful with better storage and processors. These schedulers in theory should perform better than your traditional schedulers (e.g. noop, SIO, etc), by having better utilisation of multi-core CPUs/SOCs. You can have a view of some of the descriptions here: Arch Linux wiki.

*The bottom line:* A good well-rounded I/O scheduler that is relatively simple and performs quite well in most scenarios.

I/O Read Ahead Buffer:

If you've used a custom kernel, you probably have heard of a term called Read Ahead Buffer or Cache. It's basically a cache for files that have been opened recently on your mobile device, so that they can be quickly accessed again if needed. By android default, this value has been set to 128kB. Usually having more buffer means that more files can be cached, this can mean higher read and write speeds, but also this can result in more I/O latency. There is a point where increasing the I/O read ahead will have no benefit to read/write speeds. 

Have a look at the graph below:





Source: http://andrux-and-me.blogspot.com.au/2014/06/various-conditions-and-io-performance.html

*Recommendations: *

I/O Read Ahead Buffer is *dependent on the size* of your flash storage (internal/external) unlike I/O schedulers. Below is the recommended settings for the given size that will yield the best performance (differs between setups). 

*Less than 8GB* - 128KB
*8GB* - 512KB 
*16GB* - 1024KB
*32GB or above* - 2048KB  

Any setting above what I have recommended may yield no extra performance!

If you have issues such as failed reads and writes after changing these values, try a smaller value. Please note that some SD cards may experience issues after setting a higher buffer value. 

*What to remember:*
- More isn't always better! 
- Some SD cards can't handle high read ahead cache values, so make sure you have a genuine high quality SD card
- Default is good enough for most people, but isn't the best for performance
- Performance difference varies between devices


Results :
*Setup:*
Phone: Sony Xperia Z2
Scheduler: as per indicated
Read Ahead: 512kB
App: AndroBench 4

*Here is a graph of the performance of the i/o schedulers. Note: a higher score doesn't mean it is the best io scheduler. These numbers mean nothing in real world performance, so take the following a mere glimpse of the performance of schedulers.*

Sequential in MB/sec (Higher is better)






Random in IOPS (Higher is better)





Thanks haldi for the graphs! Link: http://forum.xda-developers.com/showpost.php?p=58807943&postcount=85

Recommended IO schedulers:

*Overall:*
- CFQ 
- BFQ
- FIOPS
- Deadline

*Justification:* For overall performance, evidence has shown that some form of scheduling such as seen in *CFQ or BFQ* is beneficial not only for mechanical drives, but also for solid state media [citation needed]. These schedulers are usually configured to understand the differences between the storage devices, and hence for example will not treat Internal Storage as a traditional rotating hard drive(based on seeks). In smartphones, we do a lot of concurrent I/O multitasking, and hence, schedulers that have some logic to impose fairness will help in this situation

*For best performance:*
- FIOPS
- BFQ 
- CFQ
- Deadline

*Justification:* Results have shown that schedulers such as *CFQ* (those that impose some form of fairness) achieve excellent throughput, but the cost of increase scheduling overhead and latency. On modern smartphones, added overhead and latency shouldn't have a significant impact to the responsiveness of the system, since we are dealing with much more powerful CPUs than those of the past. Synthetic benchmarks should not be the deciding factor of a scheduler

*For least overhead:*
- Noop
- FIFO
- Deadline

*Justification: * If the only thing you value is lower overheads on I/O processing, your best bet is *Deadline*. Why? Noop has been recommended on some guide found on the internet for solid state media, however there are known cases where Noop has caused issues in some particular workloads [citation needed]

Source: xda-developers, andrux-and-me.blogspot.com.au


----------



## Saber (Mar 8, 2015)

CPU Governor tuning guide

*NOTE: If you don't have some of these tunables, you might have an older version of the governor/hotplug driver and/or the kernel maintainer has made modifications to it.*

CPU governors

*1. ONDEMAND*

*[ PARAMETERS ]*


> i) sampling_rate - Measured in uS , this is how often the kernel look at the CPU usage and make decisions on what to do about the frequency. Higher values means CPU polls less often. For lower frequencies, this could be considered an advantage since it might not jump to next frequency very often, but for higher frequencies, the scale-down time will be increased.
> 
> ii) up_threshold - defines what the average CPU usage between the samplings of 'sampling_rate' needs to be for the kernel to make a decision on whether it should increase the frequency.  For example when it is set to its default value of '95' it means that between the checking intervals the CPU needs to be on average more than 95% in use to then
> decide that the CPU frequency needs to be increased.
> ...

Click to collapse



*2. LULZACTIVEQ*

*1. Initial Version:-*

*[ PARAMETERS ]*


> i) down_sampling_time - Sampling time to scale cpu down.
> 
> ii) up_sampling_time - Sampling time to scale cpu up.

Click to collapse



*2. Second Version (LulzactiveQ):-*

*[ PARAMETERS ]*


> i) inc_cpu_load - In previous version, this was 'hard-coded' to 60. Now it's user-configurable. The frequency at which governor scales CPU up/down. Load < inc_cpu_load: cpu scaled down. Load >= inc_cpu_load: cpu scaled up
> 
> ii) pump_up_step - No of scale up steps when load >= inc_cpu_load
> 
> ...

Click to collapse


*3. SMARTASSV2*

*[ PARAMETERS ]*


> i) awake_ideal_freq - The frequency until which CPU is scaled up rapidly on screen-awake (from sleep). Thereafter, scaling up is less aggressive.
> 
> ii) sleep_ideal_freq - The frequency until which CPU is scaled down rapidly when screen is turned off. Thereafter, scaling down is less aggressive.
> 
> ...

Click to collapse



*4. CONSERVATIVE*

*[ PARAMETERS ]*


> Ondemand and conservative have some tunables in common, but with a few extras:
> 
> i) freq_step - this describes what percentage steps the cpu freq should be increased and decreased smoothly by.  By default the cpu frequency will increase in 5% chunks of your maximum cpu frequency.  You can change this value to anywhere between 0 and 100 where '0' will effectively lock your CPU at a speed regardless of its load whilst '100' will, in theory, make
> it behave identically to the "ondemand" governor.
> ...

Click to collapse



*5. INTERACTIVE*

*1. Generic Version*

*[ PARAMETERS ]*


> i) hispeed_freq - An intermediate "hi speed" at which to initially ramp when CPU load hits the value specified in go_hispeed_load.  If load stays high for the amount of time specified in above_hispeed_delay, then speed may be bumped higher.  Default is the maximum speed allowed by the policy at governor initialization time.
> 
> ii) go_hispeed_load - The CPU load at which to ramp to hispeed_freq. Default is 99%.
> 
> ...

Click to collapse



*2. Qualcomm version/Intelliactive/IntelliMM*

*[ PARAMETERS ]*


> Has some tunables in common with the generic version but with a few extras:
> 
> 
> i) Sync_freq Feature - This feature will cause a CPU frequency to stay above a particularvalue sync_freq) if certain conditions (determined by the two nodes up_threshold_any_cpu_freq and up_threshold_any_cpu_load) are satisfied
> ...

Click to collapse




*6. Wheatley*

*[ PARAMETERS ]*


> target_residency - The minimum average residency in µs which is considered acceptable for a proper efficient usage of the C4 state. Default is 10000 = 10ms.
> 
> allowed_misses - The number sampling intervals in a row the average residency is allowed to be lower than target_residency before the governor reduces the frequency. This ensures that the governor is not too aggressive in scaling down the frequency and reduces it just because some background process was temporarily causing a larger number of wakeups. The default is 5.

Click to collapse



*7. Darkness/Nightmare*

*[ PARAMETERS ]*


> cpu_up_rate - No of samples to evaluate load to scale CPU frequency up. Increasing this value will increase the time spent on a frequency.
> 
> cpu_down_rate - No of samples to evaluate load to scale CPU frequency down. Increasing this value will increase the time spent on a frequency
> 
> ...

Click to collapse



*8. zzmoove*

*[ PARAMETERS ]*


> sampling_rate_sleep_multiplier -> sampling rate multiplier on early suspend (possible values 1 or 2, default: 2)
> 
> up_threshold_sleep -> up threshold on early suspend (possible range from above 'down_threshold_sleep' up to 100, default: 90)
> 
> ...

Click to collapse



*9. Smartmax/Performance May Cry*

*[ PARAMETERS ]*


> boost_duration - how long you want the governor to boost your CPU in seconds.
> 
> down_rate - The minimum amount of time in nsecs to spend at a frequency before we can ramp down. Notice we ignore this when we are above the ideal frequency.
> 
> ...

Click to collapse


----------



## Saber (Mar 8, 2015)

I/O scheduler tuning guide

*Deadline and SIO: *

*[ PARAMETERS ]*


> fifo_batch: This parameter controls the maximum number of requests per batch.It tunes the balance between per-request latency and aggregate throughput. When low latency is the primary concern, smaller is better (where a value of 1 yields first-come first-served behavior). Increasing fifo_batch generally improves throughput, at the cost of latency variation. The default is 16.
> 
> front_merges: A request that enters the scheduler is possibly contiguous to a request that is already on the queue. Either it fits in the back of that request, or it fits at the front. Hence it’s called either a back merge candidate or a front merge candidate. Typically back merges are much more common than front merges. You can set this tunable to 0 if you know your workload will never generate front merges. Otherwise leave it at its default value 1.
> 
> ...

Click to collapse



*Noop:*

*[ PARAMETERS ]*


> add_random
> 
> In some cases, the overhead of I/O events contributing to the entropy pool for /dev/random is measurable. In such cases, it may be desirable to set this value to 0.
> 
> ...

Click to collapse



*CFQ:*

*[ PARAMETERS ]*


> back_seek_max: The scheduler tries to guess that the next request for access requires going backwards from current position on the Disc. Given that such going back can be time consuming. So in anticipation, may move back on the disc prior to the next request. This setting, given in Kb, determines the max distance to go back. Default value is set to 16 Kb.
> Do note that in a cellphone or tablet, the storage is actually Flash Memory technology. There is Disk head to be re-positioned. As such this is not that effective as backward reads are not that bad.
> 
> back_seek_penalty: This parameter is used to compute the cost of backward seeking. If the backward distance of a request is just 1 from a front request, then the seeking cost of the two requests is considered equivalent and the scheduler will not bias toward one or the other. This parameter defaults to 2 so if the distance is only 1/2 of the forward distance, CFQ will consider the backward request to be close enough to the current head location to be “close”. Therefore it will consider it as a forward request.
> ...

Click to collapse



*BFQ:*

*[ PARAMETERS ]*


> timeout_sync & timeout_async: These parameters determine maximum disk time given to a task, respectively for synchronous and asynchronous queues. It allows the user to control the latencies imposed by the scheduler.
> 
> max_budget: This determines, how much of the queue request is serviced based on number of sectors on disc. A larger value increases the throughput for the single tasks and for the system, in proportion to the percentage of sequential requests issued. Consequence is increasing the maximum latency a request may incur in. The default value is 0, which enables auto-tuning
> 
> ...

Click to collapse



*ROW:*

*[ PARAMETERS ]*


> hp_read_quantum: Dispatch quantum for the high priority READ queue. Default: 10
> 
> rp_read_quantum: Dispatch quantum for the regular priority READ queue. Default: 100
> 
> ...

Click to collapse



*VR and Zen:*

*[ PARAMETERS ]*


> rev_penalty: Penalty for reversing head direction.
> 
> fifo_batch: Number of requests to issue before checking for expired requests.
> 
> ...

Click to collapse


----------



## Saber (Mar 8, 2015)

Hotplug tunables guide

*NOTE: If you don't have some of these tunables, you might have an older version of the hotplug driver and/or the kernel maintainer has made modifications to it.*

*Mako Hotplug:*

*[ PARAMETERS ]*


> load_threshold:  system load threshold to decide when online or offline cores from 0 to 100
> 
> high_load_counter: counter to filter online/offline calls. The load needs to be above load_threshold X high_load_counter times for the cores to go online otherwise they stay offline
> 
> ...

Click to collapse



*msm_mpdecision/bricked hotplug*

*[ PARAMETERS ]*


> startdelay = time until mpdecision starts doing it's magic (20000)
> 
> delay = time between checks (70)
> 
> ...

Click to collapse



*AutoSMP*

*[ PARAMETERS ]*


> max_cpus, min_cpus, scroff_single_core, delay: Look at description above
> 
> enabled: Enable/Disable AutoSMP. Y ( for enabled). N (for disabled)
> 
> ...

Click to collapse



*Alucard*
(sourced from defconoi's kernel guide)

*[ PARAMETERS ]*


> hotplug_sampling_rate:
> Sampling Interval, measured in ms. This factor determines how often the governor should poll for CPU usage in terms of frequency and load percentage to make hotplugging decisions. (Default: 30 ms)
> 
> hotplug_rate_x_1:
> ...

Click to collapse


----------



## Saber (Mar 8, 2015)

TCP algorithms guide


What are TCP algorithms?
Congestion control strategies (or algorithms) are used by TCP, the data transmission protocol used by many Internet applications. The main goal of a TCP algorithm is to avoid sending more data than the network is capable of transmitting, that is, to avoid causing network congestion. Different algorithms respond differently to network loads, but they are all based on the same principle of avoiding network congestion. 

Things to look out for in TCP algorithms include (but not exclusively):
- Download/Upload speeds - The higher the number, the better
- Latency - The lower the number, the better


TCP Algorithm Descriptions

*Tahoe:*



> Limits unknown packets being received. Limits the congestion window, and reset itself to a slow-start state.

Click to collapse



*Reno:*



> Basically the same as Tahoe, but if 3 of the same packets are received, it will halve the window, instead of reducing it to one. It changes the slow start threshold equal to that of the congestion window.

Click to collapse


*Vegas:*



> One of the smoothest TCP algorithms(next to cubic), it increases the timeout delay for packets, which allows more to be received, but at a higher rate. It also has set timeouts, which helps with speed because it's constantly being refreshed.

Click to collapse



*Hybla:*



> Penalizes connections that use satellite radio. Not usually used with phones.

Click to collapse


*Cubic:*



> One of the best, most recommended TCP options available. Less aggressive, Inflects the windows prior to the event. Used in Linux.

Click to collapse


*Westwood/Westwood+:*



> A newer version of Reno, and another commonly used one. It controls parameters better, helping out streaming and overall quality of browsing the internet. One of the most 'fair' algorithms out there, and is one of the most efficient algorithms to date.

Click to collapse



*Low Priority (LP):*



> A distributed algorithm whose goal is to utilize only the excess network bandwidth as compared to the "fair share" of bandwidth as targeted by TCP. The key mechanisms unique to TCP-LP congestion control are the use of one-way packet delays for early congestion indications and a TCP-transparent congestion avoidance policy.

Click to collapse



*Binary Increase Congestion control (BIC):*



> BIC is optimized for high speed networks with high latency: so-called "long fat networks". It has a unique congestion window (cwnd) algorithm. This algorithm tries to find the maximum where to keep the window at for a long period of time, by using a binary search algorithm.

Click to collapse



*Scalable:*



> Scalable calls for congestion window to be halved for each packet lost. Effectively, this process keeps halving the throughput until packet loss stops. Once the packet loss subsides, slow start kicks in to ramp the speed back up.

Click to collapse



*Hamilton TCP (HTCP):*



> HTCP is designed for high-speed, long distance networks that increases aggressiveness as the time since the previous loss increases. It is thought to be a more efficient TCP algorithm than BIC and HSTCP.

Click to collapse


*Veno:*



> Veno is closely related to Vegas, it is a combination of Vegas and Reno in order to enhance TCP performance over Wireless networks.

Click to collapse



*Illinois:*



> Illinois is designed for high-speed, long-distance networks. A sender side modification to the standard TCP congestion control algorithm, it achieves a higher average throughput than the standard TCP and allocates the network resource fairly as the standard TCP.

Click to collapse



*High speed (HSTCP):*



> High Speed TCP (HSTCP) is a new congestion control algorithm protocol for TCP. Standard TCP performs poorly in networks with a large bandwidth delay product. It is unable to fully utilize available bandwidth. HSTCP makes minor modifications to standard TCP's congestion control mechanism to overcome this limitation.

Click to collapse



*Yeah-TCP:*



> A high speed TCP congestion control algorithm which uses a mixed loss/delay approach to calculate congestion windows. Its purpose is to target high efficiency, fairness, and minimizing link loss while keeping network elements load as low as possible.

Click to collapse



*CDG*


> CAIA-Delay Gradient (CDG) is a new hybrid congestion control algorithm which reacts to both packet loss and queuing delay. It attempts to operate as a delay-based algorithm where possible, but detects loss-based TCP traffic and will switch if required. CDG performs similarly to NewReno and Cubic, but is better at latency.

Click to collapse



Benchmark

*Results:

Latency - Download - Upload*
*
cubic:*
1st run: 15ms - 10,75Mbps - 7,82Mbps
2nd run: 14ms - 10,84Mbps - 8,06Mbps

*reno:*
1st run: 13ms - 15,51Mbps - 6,73Mbps
2nd run: 13ms - 14,73Mbps - 8,51Mbps

*bic:*
1st run: 12ms - 10,38Mbps - 8,61Mbps
2nd run: 13ms - 10,78Mbps - 8,62Mbps

*westwood:*
1st run: 11ms - 17,65Mbps - 8,30Mbps
2nd run: 13ms - 13,28Mbps - 8,29Mbps

*highspeed:*
1st run: 13ms - 10,76Mbps - 7,94Mbps
2nd run: 16ms - 14,42Mbps - 8,52Mbps

*hybla:*
1st run: 14ms - 11,19Mbps - 7,44Mbps
2nd run: 14ms - 13,47Mbps - 7,56Mbps

*htcp:*
1st run: 14ms - 13,24Mbps - 7,03Mbps
2nd run: 15ms - 10,85Mbps - 8,00Mbps

*vegas:*
1st run: 14ms - 8,49Mbps - 6,62Mbps
2nd run: 14ms - 12,00Mbps - 7,07Mbps
*
veno:*
1st run: 13ms - 9,58Mbps - 8,13Mbps
2nd run: 13ms - 8,50Mbps - 7,64Mbps

*scalable:*
1st run: 18ms - 12,01Mbps - 8,73Mbps
2nd run: 14ms - 13,96Mbps - 8,23Mbps

*lp:*
1st run: 14ms - 14,90Mbps - 8,68Mbps
2nd run: 14ms - 13,44Mbps - 8,72Mbps

*yeah:*
1st run: 14ms - 13,37Mbps - 8,28Mbps
2nd run: 17ms - 13,89Mbps - 8,14Mbps

*illinois:*
1st run: 13ms - 12,93Mbps - 8,24Mbps
2nd run: 16ms - 13,97Mbps - 6,46Mbps

Recommendations:


*For speed:*
- Westwood - *Best*
- Highspeed
- LP
*
For stability:*
- Cubic -* Best*
- Reno
*
For high latency networks:*
- Westwood - *Best*
- BIC

*For general usage:*
- Cubic -* Best*
- Westwood - *Best*
- Reno


Conclusion:

The only TCP algorithms I would recommend are *Cubic or Westwood* as they are the most stable and efficient for mobile devices. Real world usage would show little difference when comparing between algorithms, so everyone's experience will vary! There are myths that changing algorithms will affect battery life, this is not true!!!!!

Also, don't be surprised if you end up using Cubic or Westwood!


----------



## Saber (Mar 8, 2015)

Conditions of use

Before everyone starts to copy all of my information I've provided in this guide, please note that I've spend countless hours collecting and refining all of the descriptions and details found from various other guides and comments around the net. I'm not too fussed if people forget to mention credits, but straight copy and pasting the whole guide (verbatim) is what I'm "not OK with". Its not like I can license this information anyway or forcefully prevent others from doing this, but keep this in mind anyway 

Remember that this info is for free and can be used for your own help and for others if you follow XDA rules and under my conditions!

Changelog:


```
10/09/19:
- Added CPU governor section headings (HMP and EAS)
- Added Multi-queue I/O scheduler section

05/02/19:
- Added Anxiety IO scheduler
- Added pwrutilx and blu_schedutil

19/06/18:
- Added improved CPU governor recommendations

18/06/18:
- Updated I/O scheduler recommendations

29/05/18:
- Added description for Cultivation CPU governor
- Added missing governors from governor list on the OP

27/02/18:
- Removed governor summaries 
- Adapted the hotplug and GPU governor layout to be the same as the CPU governor layout (no more one liners)
- Added info on the thenewbeginning governor

19/12/17:
- Added lazyplug description
- Added crazyactive governor description
- Removed hotplug recommendations (outdated, inaccurate)

01/12/17:
- Minor additions to I/O scheduler advantages/disadvantages breakdown
- Minor rewording of I/O scheduler summaries

24/11/17:
- Cleaned up the starting paragraphs of the OP (Shortened but also gets the same message that I want)

16/07/17:
- Removed multi-core CPU governor selection guide 
- Added EAS governor section
- Simplified I/O scheduler benefits and disadvantages. Removed non-relevant information, added some new ones as well.  

15/07/17:
- Removed "what to look out for" sections
- Removed kernel app recommendations
- Removed governor classifications
- Removed generic looking IO sched and TCP alg comparisons - Non-realistic and variable, YMMV
- Made the CPU hotplug guide simpler and easier to read. Updated with better recommendations
- Moved zzmoove profile number info into CPU gov tunable section
- Added a new summary section under all CPU governors to help give a basic comparison between governors - Don't take these indicators as your only deciding factor, ask around as well before using!

29/05/17:
- Remove sig from main posts
- Added precaution to recommended governor guide

12/03/17: 
- Removed some governors from recommended list

8/03/17:
- Added descriptions for Nebula and Relaxed CPU governors

1/03/17:
- Minor update to Mako hotplug description
- Updated description for Ktoonservative

25/02/17:
- Updated description on mako hotplug

24/02/17:
- Updated multi-core CPU governor selection guide as per website changes

19/12/16:
- Changed recommended I/O read-ahead buffer values for 32GB+ to a more sensible value

26/11/16:
- Updated summaries for I/O schedulers

23/11/16:
- Updated ElementalX CPU governor description

22/11/16:
- Improved 'what to look out for' sections for the CPU governor and I/O scheduler guide

14/11/16:
- Added ZZmoove native hotplug description
- Fixed sprdemand governor description

15/10/16:
- Huge cleanup to the formatting of this guide. Headings now have bigger font size, excessive bold use removed, minor fixes everywhere else

14/10/16:
- Updated interactive tuning guide with additional tunable information

13/10/16:
- Added Ironactive CPU governor description

10/10/16:
- Added Kraken CPU governor description

29/08/16:
- Small correction to 8GB internal/external storage recommended I/O read ahead value

28/09/16:
- Updated guide on I/O read ahead buffer 

13/09/16:
- Corrected 'ondemand' GPU governor name to 'simple_ondemand'

11/09/16:
- Added more detailed and accurate descriptions of existing GPU governors. More GPU governor descriptions will be added later. 

10/09/16:
- Minor fixes to ZEN I/O scheduler description
- Added ZEN v2 I/O scheduler description
- Minor update to recommended I/O scheduler list
- Added very detailed description of Maple I/O scheduler thanks to @frap129
- Remove Anticipatory I/O scheduler description
- Updated credits list. Added new credits where applicable. 

02/09/16:
- Added sprdemand governor description

20/08/16:
- Added Maple I/O scheduler description
- Minor modifications to I/O scheduler summaries

19/08/16:
- Added general comments on each scheduler
- Small cleanup to scheduler descriptions

14/08/16:
- Added State Helper hotplug information 

30/07/16:
- Updated list of recommended apps. Removed all paid options

27/07/16:
- Added Chill CPU governor description
- Added Hima hotplug description

15/07/16:
- Updated description for Cyan governor 

14/07/16:
- Added Intel, Frankenstein, TheSSJactive and Cyan governor descriptions

13/07/16:
- Added sched-DVFS governor description 

23/03/16:
- Updated recommended CPU governors, removed rating system, combined single-core and multi-core recommended governors into general lists
- Updated recommended I/O schedulers, a few cosmetic fixes
- Simplified CDG TCP algorithm description
- Added Fast hotplug description

14/06/16:
- Cleanup to I/O scheduler descriptions. Removed battery factors from advantages. 

11/06/16:
- Added ThunderX CPU governor description 

07/06/16:
- Added information about cpuquiet

30/05/16:
- Initial reorganization of content - Tuning guides have been separated and will soon include examples of profiles
- I/O tuning guide is back! 
- Initial guide for TCP algorithms
- More to come soon ;)

21/05/16:
- Many updated tunable descriptions for interactive, ondemand and conservative cpu governors (sourced from the generic android kernel documentation)
- Removed I/O scheduler tuning guide (look at my website link instead)
- Minor changes to zzmoove tunable descriptions

07/05/16:
- Added description for lightning governor, thunderplug hotplug and blu_plug hotplug

06/04/16:
- Added a bit of info on some tunables for Alucard hotplug. Due to space limitations, you must use my website for the rest of the info.
- Some tunable info was removed either because it was too long (now it would be simplified) or was not used. 

01/04/16:
- Added Cafactive governor description

12/03/16:
- Added interextrem governor description

09/01/16:
- Added descriptions for Despair, Electroactive, Electrodemand and Lionfish CPU governors

13/12/15:
- Fixed up ElementalX cpu governor description (was totally wrong before)

09/12/15:
- Added HyperX CPU governor description

26/11/15:
- Added more info about smartmax and Dyninteractive CPU governor

15/11/15:
- Many changes to existing CPU governor descriptions. A lot of irrelevant statements removed

10/11/15:
- Added yankdemand CPU governor description
- Fixed credits for intelliplug hotplug

09/11/15:
- Added hotplug tunable guide for mako hotplug, msm_mpdecision, bricked hotplug and AutoSMP
- Lots of cleanup to tunable post. All irrelevant information deleted! Now there is more room for more tunable explanations!
- Removed all irrelevant messages in OP. I think it is pretty self-explanatory to use this guide. 
- Added AutoSMP hotplug description from mrg666

01/11/15:
- Many changes to IO scheduler information. Most spelling mistakes and incomplete sentences should be fixed now. I removed irrelevant information on some schedulers.  

22/10/15:
- Added description for PegasusQPlus CPU governor

16/10/15: 
- Recommended apps sections improved now with more details on what is free and what is a paid feature
- Recommended apps added to tuning section
- Added more zzmoove variable explanations

06/10/15:
- Updated recommended apps to change CPU governors and IO schedulers

25/09/15:
- Multiple changes to recommended CPU governors

24/09/15:
- Added a few GPU governor descriptions 

21/09/15:
- Added information about Mythx_plug CPU governor and msm_sleeper hotplug driver

19/09/15:
- Added tunable info for VR io scheduler
- Fixed up Zen io scheduler tunable info (now with VR)
- Updated I/O read ahead section to match with website (Recommendations, rearrange layout)

18/09/15:
- Removed sample tweaks to CPU governors
- Added a huge list of zzmoove tunables
- Updated Smartmax tunable info

24/08/15:
- Added descriptions for new governors (Arteractive and Precognition)

23/08/15:
- Added Adreno Idler GPU governor description
- Bolded GPU governor names

08/08/15:
- As requested, I've updated the recommended CPU governors

01/08/15:
- Added Barry-Allen CPU governor description

21/07/15: 
- Multiple changes to hotplug section
- Added a new zzmoove profile descriptions
- Fixed spelling mistake with zzmoove (it is NOT zzmove!)

09/07/15:
- Added 1 CPU governor description (Wave)

01/07/15:
- Added more hotplug driver descriptions and improved existing hotplug descriptions

26/05/15:
- Added Nightmare/Darkness CPU governor tunable descriptions 
- Cleanup to tunable samples 

23/05/15:
- More updates to I/O scheduler descriptions

22/05/15:
- Most I/O scheduler descriptions have been updated

16/05/15:
- Cleanup to recommended CPU governors
- Cleanup of I/O scheduler recommendations 
- Bolded CPU governor names (finally!!!!)

15/05/15:
- Fixed misleading information on blu_active governor (Thanks the eng.stk for providing some clarification!)
- Updated a few other CPU governor descriptions

13/05/15:
- Cleanup to summary of sections in the posts

09/05/15:
- Added a guide for things to look at in CPU governors and I/O schedulers

11/04/15:
- Added a few new CPU governor descriptions
- Minor changes to recommended CPU governors

09/04/15:
- Added more information on I/O schedulers
- Added a CPU governor
- Added test IO scheduler

07/04/15:
- Multiple changes to I/O scheduler advantages and disadvantages
- Links to apps now working now

03/04/15:
- Multiple changes to CPU governor descriptions

26/03/15:
- Small cleanup to CPU governor names
- Added a CPU governor description
- Small changes to CPU governor descriptions
- Updates to I/O scheduler descriptions

21/03/15:
- Cleanup of CPU governor descriptions 
- General fixes to layout for CPU governor hotplugging descriptions

20/03/15:
- Added guide to mixed CPU governor arrangements

15/03/15:
- Added some CPU governors 
- Updated tweaks guide with some tweak examples of I/O scheduler (sorry for the late change)
- Updated CPU benchmark graphs (Once again, thanks to haldi)

14/03/15:
- Cleanup and updates to recommended CPU governors
```

Things to do:

```
- Revamp CPU governor guide so it is easier to find governor tweaks (possible with the use of linking) - Shouldn't be too hard
- Update recommendation guides for CPU govs and I/O schedulers so they are more informative, while also having a section for people who can't decide :) 
- Links to governor/IO source code for potential help to kernel developers - Some effort required IMO, possibly not worth doing as it is beyond the scope of this guide
- Group governor description according to their scaling behaviour (e.g. Ondemand-like, conservative-like, etc.) - Will take time, but I will see 
- More that I forgot, but these are the ones that came from the top of my head
- Why don't you ask for me to add something new! :)
```

FAQ
*Q:* Why doesn't my kernel has XYZ governor/scheduler/feature?
*A:* I wouldn't have a clue. Ask your kernel maintainer. They haven't added it yet or maybe they don't plan on doing so. 

*Q:* I've found similar guides on the net with almost or exactly the same wording, who should I trust? 
*A:* This guide along with my blogger website are the only official guides that should only have this information.

*Q:* Why are you ripping off other peoples guides? 
*A:* Credits are given where due as detailed in the credits list below.

*Q:* Can you please add XYZ governor/scheduler/feature to your guide? 
*A:* Sure. Either post in this forum (ehm, please don't quote the whole OP), or throw me a PM.

*Q:* Man. Your formatting sucks? When will you fix it? 
*A:* Coming soon tm... Kidding, I'm still working on it 

The credits list:
Stempox - Most old cpu governor descriptions was sourced from his guide 
Droidphile - Basically the one of the first people to start these guides. Template for tweak guides.
Haldi - Without haldi, there wouldn't be these awesome graphs 
Matmutant(Andrux&me)  - For his I/O scheduler guides and graphs
Perseus - For several I/O scheduler tweak guides
franciscofranco - For TCP algorithm benchmarks 
And all of the other XDA members and other people who came up with some other descriptions that haven't been mentioned.


----------



## sgiannouris (Mar 9, 2015)

Thank you for this!
This is a much-needed (and much-asked!) document for many people


----------



## cpshelley2 (Mar 9, 2015)

can you post some info on governor tuning? specifically ROW... like what all the options are that are available and what they do, and recommended settings?


----------



## Calin (Mar 9, 2015)

Amazing man !
This should be very useful to everyone here on the forum


----------



## Android-Desire (Mar 9, 2015)

Found this informations on a google search yesterday on your site, and i saw alot of it is copied from other places on the net like : 
	
	



```
http://androidforums.com/threads/android-cpu-governors-explained.513426/
```
and : 
	
	



```
http://forum.xda-developers.com/showthread.php?t=1736168
```

another : 
	
	



```
http://forum.xda-developers.com/showthread.php?t=1631894
```

But alot of updated info and i thank you alot for that :good:

But normaly dont we need a source list and a thank you on XDA like links? when something posted that you did not write 100% your self?


----------



## Vishalmakwana (Mar 9, 2015)

*Thanks*

Thanks this is very useful for me.


----------



## kientrongtran (Mar 9, 2015)

In Cm12, the I/o schedule menu contains an item called "test-iosched" alongside noop, deadline etc, what does that mean?


----------



## Yourgodtim (Mar 9, 2015)

*Thank You Much*

I know i personally was looking for a "all explained" document and this is it! your time in making this is appreciated!


----------



## niko2931 (Mar 9, 2015)

Awesoe thread, kind of a encyclopedia of governors etc.! 

Very nice job!


----------



## LuisArmstrong (Mar 9, 2015)

i have a nexus 4 with android 5.0.1 matr1x kernel 14.5 my setups are:
1,5ghz interactive
and cfq
is this a good combination? whats the better combination for battery life? for performance?


----------



## Dor-b (Mar 9, 2015)

Hi,
I'm using hellsdoctor kernel for the nexus 4, and i have a hellsactive Governor.
Would like to know about that Governor.
Thanks!


----------



## *.jpg (Mar 9, 2015)

Ragingmolasses is a governor that recently seems to enjoy some popularity.  Perhaps it could be included?


----------



## ipushpeople (Mar 9, 2015)

*Thanks*

Very excellent


----------



## MartinD70 (Mar 9, 2015)

this Thread is excellent, what a work!:good:
Thank you very much!:good:


----------



## Haldi4803 (Mar 10, 2015)

Its been a whole lot of work to put this all together.
If you now keep this updated for at least two years then I'm impressed


----------



## diogobuique (Mar 10, 2015)

Awesome work! Thank you


----------



## snake218 (Mar 10, 2015)

Wow! Awesome,  great work. The first time i read this guide was like 3 years ago (think ) and i saw what a fantastic and useful info it is, happy to see it updated. Thanks for all your hard work.


----------



## Saber (Mar 10, 2015)

cpshelley2 said:


> can you post some info on governor tuning? specifically ROW... like what all the options are that are available and what they do, and recommended settings?

Click to collapse



I'll probably add that later this week. Right now I have lots of school work to do so time is pretty scarce.


----------



## Saber (Mar 10, 2015)

kientrongtran said:


> In Cm12, the I/o schedule menu contains an item called "test-iosched" alongside noop, deadline etc, what does that mean?

Click to collapse



Test is pretty much what it says. It is a experimental io scheduler that which the creator (I don't know) has given a name to it yet. I'll need to find reports to add info on that.


----------



## Saber (Mar 10, 2015)

*.jpg said:


> Ragingmolasses is a governor that recently seems to enjoy some popularity.  Perhaps it could be included?

Click to collapse



No worries, I'll find info asap!! 

*Update:* All done, I've added all other CPU governor requests too.


----------



## Saber (Mar 10, 2015)

Haldi4803 said:


> Its been a whole lot of work to put this all together.
> If you now keep this updated for at least two years then I'm impressed

Click to collapse



I'm sure I will update this for the next 2 years. After all, I'm pretty much an android geek (yet still have a life). I'll continue updating this even when I'm off to university.


----------



## Saber (Mar 10, 2015)

Android-Desire said:


> Found this informations on a google search yesterday on your site, and i saw alot of it is copied from other places on the net like :
> 
> 
> 
> ...

Click to collapse



I've actually mentioned the sources of the information. (It's right after the cpu governor descriptions). To remove any confusions, I've used the other reserved post for the credits list and for the to be done and changelog list (I'll add changelog and to do list tomorrow).


----------



## Saber (Mar 11, 2015)

I've added a tuning guide for CPU governors and I/O schedulers, updated the credits list and made some adjustments to layout (bolded text, added contents of thread, etc). Enjoy


----------



## ** A - R ** (Mar 11, 2015)

*Ultimate peak performance*

HI ..
ANYONE PLEASE .. GUIDE ME TO THE PEAK PERFORMANCE TWEAKS..
.
I DO NOT WANT BATTERY SAVING SETTINGS OR BALANCED !! ..
.
JUST ONLY I NEED IS THE ULTIMATE PERFORMANCE SETTINGS ( ALL THE ATTRIBUTES : CPU,GPU,THERMAL,I/O/MISC,PROFILES etc ) .. THATS ..
.
ANYONE PLEASE ....
.
YOUR FEEDBACK IS HEARTLY APPRECIATED ..
.
THANK YOU ..


----------



## Haldi4803 (Mar 11, 2015)

@gsstudios
You should mention that the I/o tests are made with an Xperia Z2 and 512kB read ahead. With AndroBench 4 which is a rather useless tool ~.~



** A - R ** said:


> JUST ONLY I NEED IS THE ULTIMATE PERFORMANCE SETTINGS

Click to collapse



Okay, use Performance CPU governor, limit GPU min clock to maximum, noop sheduler with 2048kb readahead and set IntelliThermal to 95C.
I take no warranty for broken phones......


----------



## Saber (Mar 11, 2015)

Haldi4803 said:


> @gsstudios
> You should mention that the I/o tests are made with an Xperia Z2 and 512kB read ahead. With AndroBench 4 which is a rather useless tool ~.~

Click to collapse



Thanks for telling me. I will add this info later today (on my website and this thread). I'll try to add more cpu governor tweaks that aren't for power savings (if performance governor was not adequate).


----------



## Saber (Mar 13, 2015)

Not many major changes to this thread today. I've just updated some info on I/O schedulers, updated the graph on cpu governor power drain and fixed one small typo. 

*Update:* Nvm, I've added a couple of CPU governor descriptions


----------



## djporti1973 (Mar 13, 2015)

Thank you for  this


----------



## Saber (Mar 13, 2015)

Will be making a few changes to the thread today. I will modify the list of recommended governors for performance, improve the tuning guide and I might add a few more cpu governor descriptions. Stay tuned!


----------



## Saber (Mar 15, 2015)

Sorry for the delay on updating the info (had to do lots of homework). But now I've added some new CPU governors and updated the tweaking guide a bit. 

*Update:* I've also updated the CPU governor benchmark graphs (thanks to haldi!)


----------



## LuigiBull23 (Mar 15, 2015)

Great guide.  Very informative.


----------



## MBurns2 (Mar 20, 2015)

thanks a lot!!


----------



## Saber (Mar 20, 2015)

Any more missing governors or features of this guide you would like to see? I'm running out of ideas 

*Update:* Added a guide on governors on different CPU cores. Enjoy


----------



## shawnbrennan55 (Mar 20, 2015)

gsstudios said:


> Any more missing governors or features of this guide you would like to see? I'm running out of ideas
> 
> *Update:* Added a guide on governors on different CPU cores. Enjoy

Click to collapse



Some info on hotplugs would be very useful.  Thanks for putting all of this info together!


----------



## Saber (Mar 20, 2015)

shawnbrennan55 said:


> Some info on hotplugs would be very useful.  Thanks for putting all of this info together!

Click to collapse



Hot plug information is on second post right after cpu governor descriptions. I'll make the guide more easier to read.

*Update:* Hotplug title is now enlarged. Also, I've fixed the general layout of some of the descriptions


----------



## cdzo72 (Mar 20, 2015)

gsstudios said:


> Any more missing governors or features of this guide you would like to see? I'm running out of ideas
> 
> *Update:* Added a guide on governors on different CPU cores. Enjoy

Click to collapse



Putting items in alphabetical order would be awesome... take much less time to find info


----------



## Saber (Mar 26, 2015)

I've updated the guide today. Please let me know of any missing cpu governors! 

Changelog


----------



## ArkReborn (Apr 5, 2015)

Hi ! I want to ask how to tune the i/o scheduler? Many thanks before  (Sorry for my bad english, english is not my primary language)


----------



## subodhdhull (Apr 5, 2015)

hello guyz
can you tell me which governor is more battery efficient among asswax ,smartmax and smartassH3?


----------



## ARGD (Apr 5, 2015)

*Thanks*

Great guide.:good:


----------



## wkobaint (Apr 6, 2015)

subodhdhull said:


> hello guyz
> can you tell me which governor is more battery efficient among asswax ,smartmax and smartassH3?

Click to collapse



It is depend to your devices hardware. For my G2, I've good battery life when using alucard gov and hotplug. But for my E975 having good battery with intelliactive gov. 

Sent from my LG-D802 using Tapatalk


----------



## Saber (Apr 7, 2015)

ArkReborn said:


> Hi ! I want to ask how to tune the i/o scheduler? Many thanks before  (Sorry for my bad english, english is not my primary language)

Click to collapse



You need a phone with a kernel that supports changing of i/o schedulers, make sure you have root too. I've listed what apps you can use to change I/O schedulers on my guide. Anyway, you can use the app below to change i/o schedulers:
Trickster mod - https://www.google.com.au/url?sa=t&...Tu8XCJOcFTksqVwBXSOuIsw&bvm=bv.89947451,d.dGc


----------



## Saber (Apr 9, 2015)

We finally have 80 CPU governor descriptions!  

More changes were done today. Enjoy!

Update 09/04/15: See changelog
Update 11/04/15: See changelog


----------



## Lughnasadh (Apr 13, 2015)

Thank you very much for this.  Can tell you put a lot of work into it.  Great guide :good:


----------



## 5559anand (Apr 19, 2015)

Thanks for sharing info 

Sent from my Moto G using XDA Premium 4 mobile app


----------



## Saber (May 8, 2015)

It has been 2 months since I posted this guide up on XDA and it seems to be going well. Anyway, I've updated the guide again. This time, I've added a guide for things to look at in CPU governors and I/O schedulers. The lack of updates was because of my involvement in school work. Enjoy


----------



## @soka (May 11, 2015)

Thank you very much for this.... most comprehensive collection of info in one place.


----------



## peped94 (May 11, 2015)

Can i know which governor do u refer to smoothness, speed, stability and battery life ? U only mention the meaning of this governor. I want to know if that governor suitable for speed,battery life or smoothness ?


----------



## cdzo72 (May 12, 2015)

peped94 said:


> Can i know which governor do u refer to smoothness, speed, stability and battery life ? U only mention the meaning of this governor. I want to know if that governor suitable for speed,battery life or smoothness ?

Click to collapse



The man has spent tireless hours obtaining and presenting to all of us this valuable information and you still want to be be spoonfed... instead if moderators cleaning threads they need to start eliminating lazy users


----------



## Thecrazyskull (May 12, 2015)

peped94 said:


> Can i know which governor do u refer to smoothness, speed, stability and battery life ? U only mention the meaning of this governor. I want to know if that governor suitable for speed,battery life or smoothness ?

Click to collapse



Scroll down on the first page you lazy ass


----------



## Saber (May 15, 2015)

Updated a few CPU governor descriptions today. This is a shout out to all of the cpu governor developers not mentioned in this thread, please PM so I can give credits or update any misleading info. 

Changelog

Update: stay tuned this weekend. Will be cleaning up recommended cpu governors and io schedulers.
Edit: All done. As promised, all recommended CPU governors were checked for inconsistencies and misplacement


----------



## neoandresk (May 16, 2015)

Found this thread and get headache.. I take my decision using hyper and sio..  Is that best combination for balanced perfomance and battery? My device is nexus 5. Thx 

Sent from my Nexus 5 using XDA Free mobile app


----------



## Saber (May 16, 2015)

neoandresk said:


> Found this thread and get headache.. I take my decision using hyper and sio..  Is that best combination for balanced perfomance and battery? My device is nexus 5. Thx
> 
> Sent from my Nexus 5 using XDA Free mobile app

Click to collapse



I can't say what's the best since I don't have the nexus 5. Although, that combo should be quite solid. I also recommend impulse governor. 


I've tidied up the thread a little now and it should be easier to find the info people want. 

Changelog


----------



## tuan287 (May 16, 2015)

thank


----------



## Saber (May 22, 2015)

I felt that some of the io scheduler info was too confusing for some people, so I've updated the descriptions. Stay cool


----------



## dante2p (May 23, 2015)

Thanks for complete information. :good:


----------



## kai.man (May 24, 2015)

Thanx a lot for your incredible and so helpful work. ??


----------



## DirkStorck (May 24, 2015)

Could someone please tell me where I can find an explanation of the tunables of the Nightmare governor? 
Thank you ☺


----------



## Saber (May 25, 2015)

DirkStorck said:


> Could someone please tell me where I can find an explanation of the tunables of the Nightmare governor?
> Thank you ☺

Click to collapse



Sure, will upload more governor tunable explanations today.


----------



## DirkStorck (May 25, 2015)

gsstudios said:


> Sure, will upload more governor tunable explanations today.

Click to collapse



Thank you because I really start to like this governor ☺


----------



## Saber (May 26, 2015)

This is the last change for this month (and I guess a few weeks too). I've updated the tunables guide post which now includes some info on darkness and nightmare governor. Have exams soon so updates will be delayed for a while. 

Changelog

What do you guys think about the poll on this thread? Should I remove it? Should I make it open for everyone again?


----------



## DirkStorck (May 26, 2015)

gsstudios said:


> This is the last change for this month (and I guess a few weeks too). I've updated the tunables guide post which now includes some info on darkness and nightmare governor. Have exams soon so updates will be delayed for a while.
> 
> Changelog
> 
> What do you guys think about the poll on this thread? Should I remove it? Should I make it open for everyone again?

Click to collapse



Thank you!


----------



## Lughnasadh (May 26, 2015)

gsstudios said:


> This is the last change for this month (and I guess a few weeks too). I've updated the tunables guide post which now includes some info on darkness and nightmare governor. Have exams soon so updates will be delayed for a while.
> 
> Changelog
> 
> What do you guys think about the poll on this thread? Should I remove it? Should I make it open for everyone again?

Click to collapse



I would keep the poll and make it open to everyone again.  Its nice and useful to see what everyone else is using.  Thank you for all your hard work.  You've done quite a lot to help people and you should be proud of your work...


----------



## Saber (May 29, 2015)

Lughnasadh said:


> I would keep the poll and make it open to everyone again.  Its nice and useful to see what everyone else is using.  Thank you for all your hard work.  You've done quite a lot to help people and you should be proud of your work...

Click to collapse



No worries, poll will be reopened soon. Options that have 2 or less votes will be changed to different CPU governors. :good: Thanks @GermainZ!


----------



## Saber (May 31, 2015)

Poll reopened, enjoy!


----------



## btrdossantos (Jun 3, 2015)

I just wanted to say... THANK YOU FOR YOUR HARD WORK!!!!!!!!


----------



## boilavera1980 (Jun 6, 2015)

darkness seems to be pretty good, i like it smooth and it seems to scale really fast and good


----------



## Logicheart (Jun 24, 2015)

*Thank you*

At last, a comprehensive guide on governors..

Thank you for your efforts...


----------



## -zalo (Jun 28, 2015)

gsstudios said:


> Conditions of use
> I have spent many hours compiling all of the info on CPU governors and I/O schedulers. You may or may not know that I'm the creator of the android modders guide website and the purpose was to share the most up to date info on android to people on the internet.
> 
> If you want to use the descriptions and info in your own thread, make sure to give me credit for gathering this info and also mention the others for their descriptions too (I've made a credits list in post 5)
> ...

Click to collapse



awesome!!!   thank you master!!!


----------



## Saber (Jun 29, 2015)

My guide is pretty much matured now. Not much things to adjust and add now. Remember that I'm always open for suggestions that you may want to feature in this guide.


----------



## HK-AD (Jun 29, 2015)

gsstudios said:


> My guide is pretty much matured now. Not much things to adjust and add now. Remember that I'm always open for suggestions that you may want to feature in this guide.

Click to collapse



Maybe you could go a little bit more in depth in the hotplug section? My current device is a LG G3 an one of our kernels (Fechdakernel) got a update recently where the dev added like a bunch of different hotplug solutions.

"Make it COUNT"


----------



## y0000 (Jun 29, 2015)

Amazing thread im lucky to find it, always i have so many questions and now not,  perfect thread, Gratzz for so many informations to share for all users.  And me i use this kernel for my G3 and now have so many hotplugs with last update and i cant find mutch informations to internet. I tested some hotplugs, for a time i use Alucard  but i dont know so mutch for hotplugs. can you please write some informations for hotplugs if have free time. If you know something fot that hotplugs i would appreciate.  Intelliplug - Mako Hotplug - Alucard Hotplug  -  MSM Hotplug  - Bricked Hotplug  - Zen Decision. thnx for this amazing thread its very helpful.


----------



## Saber (Jun 30, 2015)

y0000 said:


> Amazing thread im lucky to find it, always i have so many questions and now not,  perfect thread, Gratzz for so many informations to share for all users.  And me i use this kernel for my G3 and now have so many hotplugs with last update and i cant find mutch informations to internet. I tested some hotplugs, for a time i use Alucard  but i dont know so mutch for hotplugs. can you please write some informations for hotplugs if have free time. If you know something fot that hotplugs i would appreciate.  Intelliplug - Mako Hotplug - Alucard Hotplug  -  MSM Hotplug  - Bricked Hotplug  - Zen Decision. thnx for this amazing thread its very helpful.

Click to collapse





HK-AD said:


> Maybe you could go a little bit more in depth in the hotplug section? My current device is a LG G3 an one of our kernels (Fechdakernel) got a update recently where the dev added like a bunch of different hotplug solutions.
> 
> "Make it COUNT"

Click to collapse



Sure. I'll improve the hotplug section. It should be done by tomorrow (hopefully).


----------



## y0000 (Jun 30, 2015)

gsstudios said:


> Sure. I'll improve the hotplug section. It should be done by tomorrow (hopefully).

Click to collapse



thnx a lot gsstudios take your time no problem, your list its amazing helpful gratz


----------



## Saber (Jul 1, 2015)

Guide updated with more hotplug driver descriptions. It's still a WIP, but at least there is a little more detail.


----------



## LuigiBull23 (Jul 1, 2015)

gsstudios said:


> Guide updated with more hotplug driver descriptions. It's still a WIP, but at least there is a little more detail.

Click to collapse



Appreciate the updated guide.  Can you add or would you happen to know where I can find further info/documentation on some of these other Interactive tunables?

Thanks in advance.


----------



## Saber (Jul 1, 2015)

LuigiBull23 said:


> Appreciate the updated guide.  Can you add or would you happen to know where I can find further info/documentation on some of these other Interactive tunables?
> 
> Thanks in advance.

Click to collapse



Not too familiar with all of these tunables. I would have thought that Perseus or ktoonsez explained it a little. I'll see what I can find.


----------



## y0000 (Jul 1, 2015)

gsstudios said:


> Guide updated with more hotplug driver descriptions. It's still a WIP, but at least there is a little more detail.

Click to collapse



thnx a lot gsstudios for update have so many interesting things


----------



## jayjay1234 (Jul 17, 2015)

OMG Android tuning bible. :angel:

Thanks!


----------



## Saber (Jul 21, 2015)

The hotplug section of my guide has been improved with the addition on some recommendations for certain categories. I have also fixed some spelling mistakes that should have been fixed a while ago (I apologise to the dev). 

Changelog

gsstudios.


----------



## BracesForImpact (Jul 21, 2015)

I've been looking for info on Barry_Allen governor. I Haven't been able to find any.


----------



## JediSooner (Jul 21, 2015)

BracesForImpact said:


> I've been looking for info on Barry_Allen governor. I Haven't been able to find any.

Click to collapse



I use Emotion kernel on my Note 4. Here's how the dev of that kernel describes it... 

http://forum.xda-developers.com/showthread.php?p=61930454


----------



## BracesForImpact (Jul 21, 2015)

Thanks for the info!


----------



## LGtMgG2t (Jul 24, 2015)

What an amazing guide and very detailed. Thanks so much for this! This should give anyone a week or two of tweaking around at least.


----------



## Walla Walla (Jul 31, 2015)

I always seem to be coming back to this guide when it comes down to governor settings, and for that I thank you.

A few things I've noticed on my recent kernel that's are not on here (or any other variations of this guide) , are some different GPU settings, such as msm_cpufreq, cpubw_hwmon, and cache_hwmon. I was wondering if you had any info on them.

Also info different setups for a kernel in f2fs. (looked everywhere but figured it is still too new and untested) . I currently only have /data and /cache in f2fs, but essentially the kernel would act differently, right? 

sorry for all the questions, if there is already an appropriate post, may you please point me in the right direction?  

Running AICP (with /data & /cache in f2fs)
with Nebula Kernel rev6.7 
On the d851 (T-Mobile LG G3)


----------



## Rony Harianto (Jul 31, 2015)

Really helpful guide


----------



## m1trand1r (Jul 31, 2015)

gsstudios said:


> The hotplug section of my guide has been improved with the addition on some recommendations for certain categories. I have also fixed some spelling mistakes that should have been fixed a while ago (I apologise to the dev).
> 
> Changelog
> 
> gsstudios.

Click to collapse



Great work bud....love it....[emoji106] [emoji481]


----------



## Br0kI (Aug 2, 2015)

Great Thread! Thanks for you work.


----------



## fiorellona (Aug 7, 2015)

Where you explain "Here are some CPU Governors I recommend..." you could add other CPU governors, ie blu active or BioShock or wave and many... Will be great having all the governors (or a lot of them) in this cathegory !!!


----------



## Aaauuuki (Aug 7, 2015)

*Thank u so much*

Really helpful . Learnt new things today because of you . So many thanks . :good:
Please keep rocking


----------



## Saber (Aug 8, 2015)

fiorellona said:


> Where you explain "Here are some CPU Governors I recommend..." you could add other CPU governors, ie blu active or BioShock or wave and many... Will be great having all the governors (or a lot of them) in this cathegory !!!

Click to collapse



Only problem is that not all kernels have those governors. The governors I recommended are found in most kernels and so it makes more sense. Blu active and bioshock are definitely great governors and I would happily recommend it to anyone.

*Update:* I've updated the recommended CPU governors to include some more governors.


----------



## Tylog (Aug 14, 2015)

Excellent guide. Thank you.


----------



## ela1103 (Aug 15, 2015)

review about 
GPU governors
Adreno idler


----------



## Saber (Aug 23, 2015)

ela1103 said:


> review about
> GPU governors
> Adreno idler

Click to collapse



All done, guide updated with Adreno Idler description. 

gsstudios.

Changelog


----------



## kopitalk (Aug 23, 2015)

How about arteractive and precognition gov? 

Sent from my SM-N9005 using Tapatalk


----------



## closee91 (Aug 23, 2015)

What about yankactive? Or did I miss it?


----------



## kopitalk (Aug 23, 2015)

closee91 said:


> What about yankactive? Or did I miss it?

Click to collapse



It's there, number 52.

Sent from my GT-N7000 using Tapatalk


----------



## closee91 (Aug 23, 2015)

kopitalk said:


> It's there, number 52.
> 
> Sent from my GT-N7000 using Tapatalk

Click to collapse



I meant on how to tweak it to be more battery or performance


----------



## Saber (Aug 23, 2015)

kopitalk said:


> How about arteractive and precognition gov?
> 
> Sent from my SM-N9005 using Tapatalk

Click to collapse



I've added descriptions for those govs now. 

Changelog


----------



## Saber (Aug 23, 2015)

androidexpert35 said:


> Guys is normal that the msm-dcvs uses ALWAYS the maximum speed?? It always uses 1512mhz on my Xperia Z, like performance governor!!  I read that is optimized for my processor but I don't think that is good to always have maximum speed!!

Click to collapse



There could be problems with the implementation. You should probably check with your kernel developer as they may have not properly got that CPU governor to work yet. I know this because I've made kernels before and faced this kind of problem when adding new governors. 

gsstudios.


----------



## Saber (Aug 23, 2015)

closee91 said:


> I meant on how to tweak it to be more battery or performance

Click to collapse



I'll have to see if there are any recommended values to set for that governor. 

gsstudios.


----------



## Saber (Aug 24, 2015)

androidexpert35 said:


> @gsstudios the developer of the kernel is Sony!!  Because I ma on LB and I can only us stock Kernel... So i thought that at least Sony made all working in his stock Kernel... BTW Thanks for the info I made using interactive right now with multicore power saving to aggressive, what d you think about it?
> 
> Sent from my Xperia Z  LB + ROM ExistenZ Y v2.0 Deodex + SuperSU Rooted + XDR + Xposed v70 + StereoMOD + Dolby ATMOS + MaxxAudio

Click to collapse



Those settings are fine. I would say that having multicore power saving on aggressive is not the best option if you want good smoothness, and it may even cause more heating because the CPU has to work harder (since you are trying to force less cores to work on heavier loads). Normal multicore saving is usually fine for most people. 

If it's stock kernel, then it is still Sony's problem for not getting it working properly. It should work fine if implemented properly. So I guess avoiding it is the only option. IMO, that governor is not the best for that phone. There are better governors out there. 

gsstudios.


----------



## closee91 (Aug 25, 2015)

gsstudios said:


> Those settings are fine. I would say that having multicore power saving on aggressive is not the best option if you want good smoothness, and it may even cause more heating because the CPU has to work harder (since you are trying to force less cores to work on heavier loads). Normal multicore saving is usually fine for most people.
> 
> If it's stock kernel, then it is still Sony's problem for not getting it working properly. It should work fine if implemented properly. So I guess avoiding it is the only option. IMO, that governor is not the best for that phone. There are better governors out there.
> 
> gsstudios.

Click to collapse



So you think having multicore set to just "enabled" aka normal is fine and may help reduce heat? Even with 777kernel? Thanks!


----------



## Saber (Aug 25, 2015)

closee91 said:


> So you think having multicore set to just "enabled" aka normal is fine and may help reduce heat? Even with 777kernel? Thanks!

Click to collapse



It's just optional for people who want to change hotplugging behavior. IMO, underclocking and undervolting the CPU and GPU will help reduce heat better (will not save battery much, but will definitely reduce heat). So yes, Multicore 'enabled' is just fine. 

gsstudios.


----------



## closee91 (Aug 25, 2015)

gsstudios said:


> It's just optional for people who want to change hotplugging behavior. IMO, underclocking and undervolting the CPU and GPU will help reduce heat better (will not save battery much, but will definitely reduce heat). So yes, Multicore 'enabled' is just fine.
> 
> gsstudios.

Click to collapse



How much is safe to undervolt?


----------



## Saber (Aug 25, 2015)

closee91 said:


> How much is safe to undervolt?

Click to collapse



Every device is different, I would start by undervolting by increments of -25mV. When your phone starts to be unstable after a certain voltage, add 10-25mV to ensure extra stability. 

gsstudios.


----------



## Loulou-13 (Sep 1, 2015)

Thank you very very much sir !!!! I love your thread !!!! Fabulous... :good:


----------



## Jay_9090 (Sep 5, 2015)

Hi !

Thanks for this marvelous thread !

Can you send me a Code edit of all governors ? I'd not found that on any thread...

I search for Note 3 or other Qualcomm Snapdragon 800 quad core Governor...

I want adapting and make an Pack of set for "System Tuner Pro"'s governor setting app !

Many thanks for that if anybody can giving me ! :good:


----------



## Big_Berny (Sep 6, 2015)

Very interesting and helpful. Thanks a lot!

Gesendet von meinem SM-G901F mit Tapatalk


----------



## Saber (Sep 7, 2015)

Jay_9090 said:


> Hi !
> 
> Thanks for this marvelous thread !
> 
> ...

Click to collapse



I have plans to update the tuning thread for the CPU governors. Only problem is that the post is running out of space  Probably by the end of the week I will have time to do this.

Gsstudios.


----------



## Saber (Sep 7, 2015)

androidexpert35 said:


> Guys what do you think is better between intellidemand2 and AvegedZen? I saw that with intellidemand2 the system seems to smooth but with Avegedzen seems more fast and also balanced... WHAT do you think? I like a lot both!

Click to collapse



Choose whichever one you like best  personally, I haven't tried those governors, but I'm sure they are both great CPU governors.


----------



## Jay_9090 (Sep 7, 2015)

gsstudios said:


> I have plans to update the tuning thread for the CPU governors. Only problem is that the post is running out of space  Probably by the end of the week I will have time to do this.
> 
> Gsstudios.

Click to collapse



Many Thanks ! Ultimate [REF][GUIDE] !!!


----------



## KaikuHunter (Sep 15, 2015)

You mentioned that the smartmax governer is a battery-friendly governer, & thus not recommended for gaming.

I've tested the slim, impulse, yankactive, interactive, & smartmax governers on my OnePlus One. Asphalt 8 runs smoothly only on smartmax. Smartmax is also the only governer that is stable after undervolting. Is it because of how the developer created the kernel or the device itself (or some other reason)?

_Setup: OnePlus One on Sultan's CAF ROM + AK Kernel (smartmax CPU governer + bricked hotplug + undervolt by 75mV + zen I/O scheduler + msm-adreno-tz GPU governer)_


----------



## UszkiX (Sep 15, 2015)

gsstudios said:


> The only guide that is updated regularly. It's hard to believe I've spent over 50 hours working on this guide
> 
> To get information on TCP algorithms, file systems and any other info, visit my site:
> www.androidmodguide.blogspot.com
> ...

Click to collapse



Hi i have LG G3 Beat (snapdragon 400) and CM 12.1. 
Which CPU governor i should to use? Intelliactive or OndemandPlus? And which I/O scheduler? Now i use row.
Sorry for english.

Wysłane z mojego LG-D722 przy użyciu Tapatalka


----------



## wkobaint (Sep 15, 2015)

UszkiX said:


> Hi i have LG G3 Beat (snapdragon 400) and CM 12.1.
> Which CPU governor i should to use? Intelliactive or OndemandPlus? And which I/O scheduler? Now i use row.
> Sorry for english.
> 
> Wysłane z mojego LG-D722 przy użyciu Tapatalka

Click to collapse



Used spoiler if you really want or forced to quote the main post on the OP. 
Regarding to your questions, base on my experiences with snapdragon proc, you can try intelliactive for best performance. Or what not to try lionheart or pegasusq? Both of this have good balance for performance and battery life. 
About I/O, my favorites are sioplus, fiops and zen. It's all depend to your kernel support too. 
I set on my G E975 with sioplus for daily use and fiops for benchmark. And another my G2 set to zen for daily use. 
You must try one by one all of governor or i/o settings to find what is the best for your devices and your's characters. This thread have really good knowledge to do thats.


----------



## Saber (Sep 16, 2015)

KaikuHunter said:


> You mentioned that the smartmax governer is a battery-friendly governer, & thus not recommended for gaming.
> 
> I've tested the slim, impulse, yankactive, interactive, & smartmax governers on my OnePlus One. Asphalt 8 runs smoothly only on smartmax. Smartmax is also the only governer that is stable after undervolting. Is it because of how the developer created the kernel or the device itself (or some other reason)?
> 
> _Setup: OnePlus One on Sultan's CAF ROM + AK Kernel (smartmax CPU governer + bricked hotplug + undervolt by 75mV + zen I/O scheduler + msm-adreno-tz GPU governer)_

Click to collapse



Yes, this could be the possible cause. Some of the governors may behave differently when put under UV or OV, and as you found smartmax is stable for you. So it could be unoptimized code or poor implementation that causes instability differences. But most of the time, you can't fix some of these stability issues, so you have to choose what's best for you


----------



## marcdw (Sep 16, 2015)

KaikuHunter said:


> _Setup: OnePlus One on Sultan's CAF ROM + AK Kernel (smartmax CPU governer + bricked hotplug + undervolt by 75mV + zen I/O scheduler + msm-adreno-tz GPU governer)_

Click to collapse



On my G3 I've used slim, conservative, interactive, and zzmoove governors. The one game I go on regularly just lags/stutters.
Found your findings interesting and gave your settings a go using Nebula kernel on Pac-Man ROM. Only diff is no bricked hotplug so using MSM hotplug (default setting in Synapse).

Playing the game was a much smoother experience even after the phone was getting hot. No issues so far on the undervolt.
So far so good. Nice.

LG G3 D851, Pac-Man ROM, Tapatalk 4.9.5


----------



## Saber (Sep 18, 2015)

I've updated the tuning guide on this thread. Now I've included lots of info about zzmoove tunables. Sample tweaks have all been removed to save space (and time? Seriously, some of the tweaks doesn't apply to most users! ). 

For full changelog, visit post 5: http://forum.xda-developers.com/showpost.php?p=59289794&postcount=5

gsstudios.

*Update:* Small update today on tunable post. I've now added info about VR io scheduler tunables and fix some arrangement issues.


----------



## fizbanrapper (Sep 19, 2015)

Not sure if you're even interested as it would require a fair amount of effort, but everyone in the development community would be grateful you could provide a link to the github page for the authors of these features.  

I'd love to be able to attribute proper authorship to some of these features in the kernel I'm building, but some are very hard to find. As a result, I find myself having to cherry-pick from some repos that add 400 governors in a single commit. I'd much rather do it the right way, and an excellent user guide like this could serve as a tremendous resource for developers too. The creators of these features would surely be appreciative. 

If this is something you're open to doing, I would be more than happy to do some of the research for you and send you some links to knock a few of these off the list.

Turning the title of the features into a hyperlink would address any concerns about making the OP too bloated, if that is a concern.


----------



## Saber (Sep 20, 2015)

fizbanrapper said:


> Not sure if you're even interested as it would require a fair amount of effort, but everyone in the development community would be grateful you could provide a link to the github page for the authors of these features.
> 
> I'd love to be able to attribute proper authorship to some of these features in the kernel I'm building, but some are very hard to find. As a result, I find myself having to cherry-pick from some repos that add 400 governors in a single commit. I'd much rather do it the right way, and an excellent user guide like this could serve as a tremendous resource for developers too. The creators of these features would surely be appreciative.
> 
> ...

Click to collapse



Being a kernel developer myself, I know how you feel.  Even though this guide is intended to help people who just want to know the basic information and comparisons on CPU governors and io schedulers, I would be glad to make it so other kernel developers are able to add these features too. 

Yes, I will take some time to do this, so when I have time, I can work on this. 

Gsstudios.


----------



## fizbanrapper (Sep 21, 2015)

gsstudios said:


> Being a kernel developer myself, I know how you feel.  Even though this guide is intended to help people who just want to know the basic information and comparisons on CPU governors and io schedulers, I would be glad to make it so other kernel developers are able to add these features too.
> 
> Yes, I will take some time to do this, so when I have time, I can work on this.
> 
> Gsstudios.

Click to collapse



Even if you only get to 5 a week, it would be a big help. A great guide gets even better.

Thank you so much!


----------



## ela1103 (Sep 23, 2015)

* @gsstudios 
This the best To understand Kernel stuffs 

can You add  Governor  & hotplug tweaking For Battery & Performance & game .(paramter Settings )

Adreno Idler Tweak For Battery & Gaming Performance 

 .It will more useful for some other people 

can you help me to Tweaked For Drakness & Impluse Governor ,

Then Intelliplug & MSM Hotplug Tweaked  *


----------



## Saber (Sep 23, 2015)

ela1103 said:


> * @gsstudios
> This the best To understand Kernel stuffs
> 
> can You add  Governor  & hotplug tweaking For Battery & Performance & game .(paramter Settings )
> ...

Click to collapse



I'm still focusing on revamping the tweaks post, so there will be updates for sure. I'm terms of sample tweaks, they will be readded with the removal of frequency setting parameters, so they won't be biased to certain phones. 

It's just that I don't have much time nowadays to work on my guides or anything XDA related. 

gsstudios.


----------



## j1gga84 (Sep 23, 2015)

@gsstudios

awesome thread, thank you so much for that, really appreciated :good:

After I read your article I changed my gov/sched to interactive/sio and I have no more freezes and reboots on my G900F device running Android 5.1.1, also battery usage is much better :good:
before that I had PegasusQ/row (or bfq) but this combination caused freezes while scrolling or typing a message and reboots from time to time, it seems that this governor is not 100% stable on my device.

I have a question concerning the I/O read ahead cache:
my device has 16GB internal memory and 64GB external SD Card, for internal I set 512 and for external 2048
are these values ok or would you change them?

concerning GPU governors I have some more on my device that are not on your list, do you plan to add them?

They are:
cpubw_hwmon
msm_cpufreq
userspace

IO schedulers I have also one more: iosched

under governors I have this one on top: smartmax_eps


thanks & regards


----------



## Saber (Sep 23, 2015)

j1gga84 said:


> @gsstudios
> 
> awesome thread, thank you so much for that, really appreciated :good:
> 
> ...

Click to collapse



1. Your IO read ahead cache values are fine. As long there aren't any problems using your phone after setting the values, your values are all good.  

2. With those GPU governors, I was looking at them a few days ago  . I should hopefully add them by today or tomorrow (or whenever I have time). 

3. I already have smartmax eps in the cpu governor section. Not too sure about the io scheduler you are mentioning. Is it just called 'iosched' ?

regards, gsstudios

*Update:* I've updated the GPU governor section. It now includes all of the mentioned GPU governors. However, it is still a WIP.

*Update 2:* I don't see a IO scheduler named iosched in the kernel source code.


----------



## j1gga84 (Sep 24, 2015)

@gsstudios

many thanks :good:
I asked in the boeffla kernel thread for that IO scheduler.

by the way what GPU governor do you recommend?
I switched from msm-adreno-tz to simple_ondemand but it seems that scrolling is not as "fluid" as with adreno-tz, could this be the reason for that little "stuttering" while scrolling?

regards


----------



## Saber (Sep 24, 2015)

j1gga84 said:


> @gsstudios
> 
> many thanks :good:
> I asked in the boeffla kernel thread for that IO scheduler.
> ...

Click to collapse



The only io scheduler I can think of that has -'iosched' at the end is the test scheduler mentioned at the end of my io scheduler section. Unless there is a test scheduler that is already in your kernel. 

I'm pretty sure that msm-adreno-tz is more aggressive on scaling, so that's why it is more fluid. Usually with simple gpu governors, you should be able to tweak the thresholds to make it more aggressive (this feature is available on ktoonsez's s5 kernel).

regards, gsstudios


----------



## BoxerGames (Sep 25, 2015)

Vishalmakwana said:


> Thanks this is very useful for me.

Click to collapse




yeah


----------



## Saber (Oct 16, 2015)

Just a small update was done on recommended apps again with more info now added on what features are paid and what are for free. 

changelog

regards, gsstudios

*Update:* I've also updated the zzmoove variable explanations with more info. Thanks @ZaneZam for your awesome governor! I think your thread needs to be updated for the variables, as it seems my thread has all the variable explanations at one place, and not on github changelog


----------



## Saber (Oct 22, 2015)

Another late addition to the CPU governor list was done today. PegasusQPlus description was added which has existed for a while now. 

regards, gsstudios


----------



## IaKnightHawke (Oct 22, 2015)

gsstudios said:


> Another late addition to the CPU governor list was done today. PegasusQPlus description was added which has existed for a while now.
> 
> regards, gsstudios

Click to collapse



Just wanted to say thanks for your work maintaining this board.  I had recently discovered it while searching for info about a governor. The information was well laid out and concise.  Thanks,   Gary


----------



## xflowy (Oct 26, 2015)

first: thanks for the great effort!

second: my priority is a smooth and reponsive touchscreen. do i go with zen or tripndroid? and what's better: zzmoove or smartmax?

thanks!


----------



## rav3n21 (Oct 27, 2015)

Awesome work! Thank you

Inviato dal mio LG-D855 utilizzando Tapatalk


----------



## troyolson92 (Oct 27, 2015)

awesome job!  TY


----------



## Saber (Oct 28, 2015)

androidexpert35 said:


> Guys in your opinion how is the battery life of the intelliActive governor compared to interactive?

Click to collapse



Interactive has better battery life because intelliactive avoids hotplugging (more CPU cores on).


----------



## Saber (Oct 28, 2015)

xflowy said:


> first: thanks for the great effort!
> 
> second: my priority is a smooth and reponsive touchscreen. do i go with zen or tripndroid? and what's better: zzmoove or smartmax?
> 
> thanks!

Click to collapse



For scheduler, use zen. For governor, use smartmax for battery life. Use zzmoove for daily usage. 

regards, gsstudios


----------



## IaKnightHawke (Oct 29, 2015)

gsstudios said:


> For scheduler, use zen. For governor, use smartmax for battery life. Use zzmoove for daily usage.
> 
> regards, gsstudios

Click to collapse



Along the same lines,  any suggestions about a Hotplug driver to use with zzmoove on LG g3 running CM 12.01? This is my D. D. now that I discovered that I could apply profiles. Thanks for your prior suggestions.


----------



## marcdw (Oct 29, 2015)

IaKnightHawke said:


> Along the same lines,  any suggestions about a Hotplug driver to use with zzmoove on LG g3 running CM 12.01? This is my D. D. now that I discovered that I could apply profiles. Thanks for your prior suggestions.

Click to collapse



I general you don't use a hotplug with zzmoove as it's "built-in". I do believe there's a tunable to turn off the built-in hotplugging if so desired.

LG G3 D851, Pac-Man ROM, Tapatalk 4.9.5


----------



## IaKnightHawke (Oct 30, 2015)

marcdw said:


> I general you don't use a hotplug with zzmoove as it's "built-in". I do believe there's a tunable to turn off the built-in hotplugging if so desired.
> 
> LG G3 D851, Pac-Man ROM, Tapatalk 4.9.5

Click to collapse



Thanks,  I didn't think about hotplug  being built  in.  I turned off the external  hotplug setting and am using a balanced profile now. My cpus temps are down 20 - 30 degrees F and are not changing wildly on the fly.  Thanks Again.


----------



## GuestK00316 (Oct 30, 2015)

Hi im new here and just installed synapse and ak kernel v18, what settings i want to use if i want good battery life and decent performance ?
I have settings io to raw and governor to ondemand , should i keep or is there better settings for me ? im usins stock oos 2.1.1 oneplus 2


----------



## Wolfcity (Oct 31, 2015)

tadessi said:


> Hi im new here and just installed synapse and ak kernel v18, what settings i want to use if i want good battery life and decent performance ?
> I have settings io to raw and governor to ondemand , should i keep or is there better settings for me ? im usins stock oos 2.1.1 oneplus 2

Click to collapse



You should be ok with that. If your kernel supports zzmove you can try that as cpu governor. But test the different settings, it's very varied. For your personal predilection check out different combinations. 


Sent with somewhat


----------



## Saber (Oct 31, 2015)

Many changes were done to IO scheduler information. Most spelling mistakes and incomplete sentences should be fixed now and irrelevant information was removed. I also found more information regarding the FIOPS io scheduler, as I previously never knew that it was an improvement over CFQ and that it was also called "Fair IOPS". 

Changelog

regards, gsstudios


----------



## shabtab (Nov 2, 2015)

Which is overall best governor in slim, barry-allen, hellsactive and ondemandplus? Which one should I use with a Snapdragon 801 phone?


----------



## Horizon70 (Nov 2, 2015)

Thank you very much for this guide, well explained. Atm im with conservative governor, Qualcomm Snapdragon s4 pro

Inviato dal mio Nexus 4 utilizzando Tapatalk


----------



## Saber (Nov 4, 2015)

androidexpert35 said:


> Guys our kernel dev  added today SmartAssV2 in his kernel  But it is strange! This governor keeps always the CPU to maximum frequences and interactivelly turns on or off the various CPU cores. here are some screenshots...
> 
> Is this normal?

Click to collapse



This happens when a CPU governor is not fully compatible with the phone. SmartassV2 was never designed for quad core devices, and is conflicting probably with the CPU's hotplugging. It is either this or because the linux kernel version of your kernel is too high, breaking smartassv2's functionality and so it constantly stays on highest frequency. 

regards, gsstudios


----------



## Saber (Nov 4, 2015)

androidexpert35 said:


> Edit: and what about preservative governor? How it is in battery lire and performance? Conapred to interactive?
> Inviato dal mio Xperia Z utilizzando Tapatalk

Click to collapse



Preservative should be battery friendly as when I recalled a while ago, I heard some good stats on battery life.

regards, gsstudios


----------



## Saber (Nov 8, 2015)

Good news guys. I've updated the tuning post with tuning guides on msm_mpdecision/bricked hotplug from bricked kernel and mako hotplug from franco kernel. I've also done lots of cleanup to the tuning thread so now it is nice and tidy. Sadly, post 4 is always running out of room so I can not post all guides for every driver or governor. 

Changelogs

gsstudios. 

*Update:* I've also added a description and tuning guide for AutoSMP hotplug by mrg666.


----------



## IaKnightHawke (Nov 12, 2015)

Two things,  First,  lately when I used the ZZMoove governor it appears that cpu 0 is the only one active according to cpu stats. The other 3 become active when I switch to interactive  then back to ZZMoove. I used ZZMoove on all 4 cores because the tuneables for ZZMoove otherwise would not be available in Synapse. I am using Yank Active as my DD.  I tried to Google for an answer to this question w/o success. What is the meaning of Boost in the tuneables of Yank Active?  Also, what are the allowed parameters for Boost?  Thanks in Advance for any information you can provide.


----------



## fxckit (Nov 12, 2015)

Which one would be best for battery life alone, Ondemandplus, Interactive, Smartmax or ZZMoove?
- Thanks


----------



## MBurns2 (Nov 12, 2015)

fxckit said:


> Which one would be best for battery life alone, Ondemandplus, Interactive, Smartmax or ZZMoove?
> - Thanks

Click to collapse



Interactive or smartmax. 
But if you want a balanced profile with an awesome battery life and no lags try zzmove moderate with zznative hotplug. 

Inviato dal mio A0001 utilizzando Tapatalk


----------



## nytebird (Nov 12, 2015)

MBurns2 said:


> Interactive or smartmax.
> But if you want a balanced profile with an awesome battery life and no lags try zzmove moderate with zznative hotplug.
> 
> Inviato dal mio A0001 utilizzando Tapatalk

Click to collapse



Is the zznative hotplug planted in with zz moderate (profile 7)?


----------



## MBurns2 (Nov 12, 2015)

nytebird said:


> Is the zznative hotplug planted in with zz moderate (profile 7)?

Click to collapse



Depends if your kernel supports it.
I own the oneplus one, with ak kernel i cannot use zzmove native hotplug conversely boeffla kernel implements it.


----------



## CapTemp (Nov 13, 2015)

Thanks !


----------



## Saber (Nov 15, 2015)

nytebird said:


> Is the zznative hotplug planted in with zz moderate (profile 7)?

Click to collapse



If your device and kernel supports it, you need to set disable the current hotplug method (e.g. Intelliplug, mpdecision) and enable zzmoove hotplugging via the variable (check with the kernel developer to make sure everything is alright). It should be enabled by the kernel developer depending on how they implemented it.


----------



## Saber (Nov 15, 2015)

A lot of CPU governor descriptions were changed today. The OP is in the middle of being simplified and errors are being fixed, which should be completed during next week, the thread will periodically be updated as I will make some adjustments from time to time.

regards, gsstudios


----------



## nytebird (Nov 15, 2015)

gsstudios said:


> If your device and kernel supports it, you need to set disable the current hotplug method (e.g. Intelliplug, mpdecision) and enable zzmoove hotplugging via the variable (check with the kernel developer to make sure everything is alright). It should be enabled by the kernel developer depending on how they implemented it.

Click to collapse



Thanks for your input. I'm learning about kernels and not yet savvy enough for synapse. Using kernel adiutor and I'm not seeing variable you're speaking of. Kernel is Nebula / D851.


----------



## Rusx90 (Nov 16, 2015)

Thanks alot!! Good job!:good:


----------



## Saber (Nov 16, 2015)

nytebird said:


> Thanks for your input. I'm learning about kernels and not yet savvy enough for synapse. Using kernel adiutor and I'm not seeing variable you're speaking of. Kernel is Nebula / D851.

Click to collapse



Variable is called disable_hotplug in cpu governor settings. Some kernels don't allow disable of normal hotplug so this may be useless in your case.


----------



## nytebird (Nov 17, 2015)

gsstudios said:


> Variable is called disable_hotplug in cpu governor settings. Some kernels don't allow disable of normal hotplug so this may be useless in your case.

Click to collapse



I have no CPU hotplugs enabled. Within the CPU governor tuneables for zzmove in ka. all the hotplug settings are number values,so I guess they are all presets.


----------



## Saber (Nov 17, 2015)

nytebird said:


> I have no CPU hotplugs enabled. Within the CPU governor tuneables for zzmove in ka. all the hotplug settings are number values,so I guess they are all presets.

Click to collapse



That's the one I was talking about:


> disable_hotplug -> switch to enable/disable hotplugging (possible values are any value above 0 to disable hotplugging and 0 to enable it, default 0)

Click to collapse



I'm pretty sure that most variables (other than hotplug value and some others) do not take effect until the profile number is 0, as profile numbers 1-11 are all presets.


----------



## nytebird (Nov 17, 2015)

gsstudios said:


> That's the one I was talking about:
> 
> 
> I'm pretty sure that most variables (other than hotplug value and some others) do not take effect until the profile number is 0, as profile numbers 1-11 are all presets.

Click to collapse



So my understanding is all the zzmove  profiles ( I'm testing 2,5 and 7 atm)  are preset and can't be changed .Cool. More reading to be  done about different settings I can try in the future. I thank you sir for time /D851.


----------



## 2phazt (Nov 17, 2015)

nytebird said:


> So my understanding is all the zzmove  profiles ( I'm testing 2,5 and 7 atm)  are preset and can't be changed .Cool. More reading to be  done about different settings I can try in the future. I thank you sir for time /D851.

Click to collapse



It should work to load a preset and then switch to tunable. This is the way to configure zzmove in the boeffla kernel config.


----------



## mysuperdonghae (Nov 17, 2015)

Thanks for the very helpful post


----------



## aleste2 (Nov 17, 2015)

Interesting, but too many options


----------



## sgrabarz16 (Nov 18, 2015)

Thank you for taking so much time to write this guide, now I actually know what all these governors do rather than just using one because someone recommended it. :good: :good:


----------



## rwxr-xr-xis (Dec 3, 2015)

Best guide ever! Saved me a lot of time of researching


----------



## galaxys (Dec 4, 2015)

Great thread for kernel fans!


----------



## leonardoroza (Dec 6, 2015)

Thanks

Enviado de meu Moto G usando Tapatalk


----------



## pmacevad (Dec 9, 2015)

Hyperx kernel explanation?

Sent from my LGMS631 using Tapatalk


----------



## Saber (Dec 9, 2015)

pmacevad said:


> Hyperx kernel explanation?
> 
> Sent from my LGMS631 using Tapatalk

Click to collapse



Could you please link me to the kernel you are talking about? 

thanks, gsstudios

*Update:* Currently researching on HyperX CPU governor. Not much info about it.

*Update 2:* I was hoping that the 'X' would stand for extra hotplugging variables, but apparently the governor is just a tweaked version of interactive for performance. OP updated!


----------



## jaimeranks (Dec 11, 2015)

Nice!


----------



## tra_dax (Dec 12, 2015)

Thx for the guide

 tra_dax


----------



## b.eslabon (Dec 13, 2015)

very helpful ? thanks


----------



## Saber (Dec 13, 2015)

A description was changed today. This time for ElementalX cpu governor. 

Previous description:



> If you are an owner of a nexus device, you probably have heard of a governor named ElementalX. Named after the kernel, elementalX is based on interactive but with some additional performance tweaks. This governor focuses on performance and not battery savings!

Click to collapse



Correct description:



> The ElementalX CPU governor has been specifically designed and tuned to get the best balance between battery life and performance. By default, it is more conservative than Ondemand. During routine usage, the CPU frequency does not ramp up very often. If gboost is enabled, during gaming or any other graphics intensive situation, the CPU frequencies boost much easier in order to maintain maximum performance. There is also a built in input boost.

Click to collapse



Sorry for this misinformation. Also, @v7, thanks for informing me


----------



## bevertin99 (Dec 30, 2015)

*cpu frequency problems*

<Mod Edit - Please Don't Quote Large OP.>


----------



## Saber (Dec 30, 2015)

bevertin99 said:


> hi i have a question, since you know very well about kernals and such, is there a solution to get rid of the issue where when i input the minimum and maximum speed of the cpu, the maximum speed as how I'd set it but the minimum speed will always fall back down to the lowest value though I've set it much higher. Im running CM11 on my galaxy s2 rn and it'd be nice if you could help

Click to collapse



Hi,

Please edit your post and remove the quote from the OP.

It may be better to use an app like kernel adiutor to set min and max frequencies. Set it so it applies on boot and you're good to go. There could be something overriding the min freq setting. 

Regards, gsstudios


----------



## Alcolawl (Dec 31, 2015)

@gsstudios, I may have found a decent description for the Despair governor included in kernels for several nexus devices by DespairFactor (Device list can be seen here). Out of curiosity, I sifted through the Git for Phasma Kernel for the Nexus 5X and found this:

*Despair Kernel*


```
cpufreq_despair - A dynamic cpufreq governor for Low Latency Frequency Transition capable processors optimised for use in a battery environment
```

The actual file seems to contain a lot of original code for the Conservative governor included the comments from the original dev and several Conservative Governor macros, which can be viewed here. So, obviously, this governor is a Conservative based governor. I do not have a lot of experience with the Conservative governor, mainly because I know performance would suffer, but Despair Governor is pretty smooth for the most part on my N5X with good battery life. It seems that the CPU is reluctant to achieve maximum frequency and instead steps up to the next highest frequency based on workload. The Frequency Table usually results in the lowest frequency being used the most while usage diminishes slightly with every step in frequency.


----------



## kjinx01 (Dec 31, 2015)

Learnt almost everything about governors.. Grt guide


----------



## dipro.tanvir (Jan 7, 2016)

Thanks for this awesome thread!!!!


----------



## eric2 (Jan 8, 2016)

A great help when tweaking the phone :good:


----------



## Mrcactuseater (Jan 8, 2016)

@gsstudios, love this impressive collection you have here, very informative! May I ask for you to do add "Electroactive, Electrodemand and Lionfish" to your collection? Much appreciated!

Tapatalk'd from my Twisted, Electrified Nexus 5


----------



## Saber (Jan 8, 2016)

Alcolawl said:


> @gsstudios, I may have found a decent description for the Despair governor included in kernels for several nexus devices by DespairFactor (Device list can be seen here). Out of curiosity, I sifted through the Git for Phasma Kernel for the Nexus 5X and found this:
> 
> *Despair Kernel*
> 
> ...

Click to collapse



I found a shorter and more simplistic description from despairfactor  Look at the OP. 

Thanks! 



Mrcactuseater said:


> @gsstudios, love this impressive collection you have here, very informative! May I ask for you to do add "Electroactive, Electrodemand and Lionfish" to your collection? Much appreciated!
> 
> Tapatalk'd from my Twisted, Electrified Nexus 5

Click to collapse



Thanks for the suggestions. I have updated the OP with descriptions for those governors. 

Off topic: We are nearly at 100 CPU governor descriptions :highfive:

gsstudios

*Update:* I fixed up the spelling in Despair governor description.


----------



## Mrcactuseater (Jan 8, 2016)

gsstudios said:


> I found a shorter and more simplistic description from despairfactor  Look at the OP.
> 
> Thanks!
> 
> ...

Click to collapse



That was fast! Cheers man

Tapatalk'd from my Twisted, Electrified Nexus 5


----------



## jugoslavpetrovic (Jan 12, 2016)

Thanks a lot for such important thread. Great job.


----------



## renzo090513 (Jan 18, 2016)

Great work man. But i have a question. I don't know if you could put a tuneable recomandation for I/O schudulers. For example: In zen you put a description of the tuneables but no a recomendation for Battery life or Performance. I use Zen (it is my favorite Scheduler) but i want to put the correct values for more battery life. 
If you can add that it would be nice. If not..  It is ok. You helped me a lot with your thread. 

Sorry for my poor english im not a native speaker.

Enviado desde mi LG-D802 mediante Tapatalk


----------



## Saber (Jan 18, 2016)

renzo090513 said:


> Great work man. But i have a question. I don't know if you could put a tuneable recomandation for I/O schudulers. For example: In zen you put a description of the tuneables but no a recomendation for Battery life or Performance. I use Zen (it is my favorite Scheduler) but i want to put the correct values for more battery life.
> If you can add that it would be nice. If not..  It is ok. You helped me a lot with your thread.
> 
> Sorry for my poor english im not a native speaker.
> ...

Click to collapse



A lot of the battery life savings comes from how efficient the algorithms or calculations are made from the scheduler. Tuning the scheduler will bring mostly performance improvements, and won't affect battery as much compared to tuning your CPU governor.

For Zen, generally it will have fifo batch with a value of 1, so it should behave more like a first come first serve scheduler. For the rest, you may have to look up for youself as I can't recall any generally used values.

Don't know if I can add battery/performance recommendations to guide because the post is running out of space (no joke  )

Gsstudios


----------



## jayjay1234 (Jan 18, 2016)

Hi gsstudios,

Thanks for this thread again. I still use it to recap on all the info. Just wanted to also point you to another thread on Advanced Interactive Governor Tweaks. It's seem to have some good effects and people might be able to apply it to different devices. Maybe you can use it to help other too.


http://forum.xda-developers.com/nexus-5x/general/guide-advanced-interactive-governor-t3269557


----------



## dilidani (Jan 20, 2016)

Hello guys, great thread! Im having an SGS4, which governor would you recommend? I use interactive for first 2 cores, other 2 cores? I can choose from: conservative/darkness/nightmare/ondemand/intelliactive. Thanks!


----------



## NeoDarkness (Jan 24, 2016)

Good post ?

Sent from my 2014817 using Tapatalk


----------



## Saber (Jan 24, 2016)

dilidani said:


> Hello guys, great thread! Im having an SGS4, which governor would you recommend? I use interactive for first 2 cores, other 2 cores? I can choose from: conservative/darkness/nightmare/ondemand/intelliactive. Thanks!

Click to collapse



Keep all cores with the same governor for best stability. In your case, all 4 cores with interactive (or intelliactive) would achieve best results. 

gsstudios


----------



## Saber (Jan 24, 2016)

jayjay1234 said:


> Hi gsstudios,
> 
> Thanks for this thread again. I still use it to recap on all the info. Just wanted to also point you to another thread on Advanced Interactive Governor Tweaks. It's seem to have some good effects and people might be able to apply it to different devices. Maybe you can use it to help other too.
> 
> ...

Click to collapse



Thanks. I might add a link to the tuning post instead of quoting a big chunk of information. 

gsstudios

*Edit:* I might have to go back on my word. We seem to be stuck at the 30000 word limit, lol.


----------



## droidbits (Jan 25, 2016)

@gsstudios

Hi.
I just really wanted to drop you a big thank you for this amazing guide. It is really what I was looking for in order to learn more. 

Thanks!


----------



## Mrcactuseater (Feb 9, 2016)

@gsstudios I appreciate all the work you've done here, but I was wondering if you could compile some info on toolchains?

Tapatalk'd from my Twisted, Yank'd Nexus 5


----------



## Saber (Feb 10, 2016)

Mrcactuseater said:


> @gsstudios I appreciate all the work you've done here, but I was wondering if you could compile some info on toolchains?
> 
> Tapatalk'd from my Twisted, Yank'd Nexus 5

Click to collapse



Maybe in a different thread.  Seems like a good idea for developers and those who are thinking to develop. 

gsstudios


----------



## rwxr-xr-xis (Feb 12, 2016)

Is it true that row can corrupt your disk? I remember reading this somewhere in the linux forums


----------



## marcdw (Feb 12, 2016)

Henriquefeira said:


> Is it true that row can corrupt your disk? I remember reading this somewhere in the linux forums

Click to collapse



If that were true we'd all be screwed up by now.
Row is usually, and has been, the default scheduler for ages it seems.

LG G3 D851, PAC-MAN ROM, Tapatalk 4.9.5


----------



## cbomb101 (Feb 12, 2016)

Thanks for the guide.


----------



## Saber (Feb 16, 2016)

@marcdw is correct. 

ROW doesn't corrupt disks (or in the mobile world, our flash storage). I think changing filesystems is more likely to cause corruption as some (e.g. F2FS) are relatively new or behave in a different manner that could cause data loss. I wouldn't think that a developer would be that evil to share their io scheduler to the internet only to destroy people's devices.  Almost all (or most) io schedulers or governors have been tested by users which may include the developer and a large community like XDA for example, I would think there would be at least some disclaimer by the developer or maintainer saying that the current product (in our case io scheduler) is not completed yet and/or could cause potential problems. 

gsstudios


----------



## ithehappy (Feb 27, 2016)

What a guide man, hat's off.

No, I didn't read the whole OP, are you kidding me? So much explanation that if I did read fully I would have gone crazy! 

Anyway, I still have something to ask (yes, I have seen your recommended chart), you see I am obsessed with the smoothness of the device. Those micro lags/jitters which most people could ignore, I simply can't. So the first thing I check after flashing a kernel is scroll up and down in an app to check whether it's lagging anywhere or not, and until I find one which works like "butter" I keep checking/reading for other governors. I find the default "Interactive" one to be laggy/extremely laggy at most times! 
And for that I loved the Precog governor of Shinto kernel for me Note 3, that was the best without giving up on battery life. But now I have a Note 4, and so far I have found the Blu active governor (of Emotion kernel) to be the smoothest (though it's impossible for me to test them all), but I just think that it's not that battery friendly.

So is there a governor which will achieve maximum smoothness, without giving up on battery life?


----------



## PiggyFlooper (Feb 27, 2016)

I've referred to your guide many times and subscribed. There's a ton of info, so much that my screen lags when scrolling down your ops 
It's good information all thrown together in one spot.
I'd really like to see you become a developer. Such as in that you take the info you've provided here, put it in (init.d) scripts to sense when governor or scheduler has been changed by the user, and apply your recommended values. I realize there are massive amounts of devices out there with different number of cores, different architectures, but when a kernel developer builds and includes the well known and much tested schedulers/governors, they're usually put in in a copycat fashion or way.
Which leaves little risk in making a recovery flashable zip that asserts some sh*t based on the device it's flashed on.

So what I'm asking for because of my infinite laziness, is scripts to know when governors and schedulers are being changed, and tune the tunables to your recommended values.
I repeat myself a lot 

And in my self proclaimed wisdom, you be the ultimate authority, you, @gsstudios be the governor of governors and scheduler of schedulers.

Thanks for the reference guide friend

Sent from above using Xparent Tapatalk


----------



## Saber (Feb 28, 2016)

@PiggyFlooper

I'm already a kernel developer  So I even use my own guide to help me out 

flashable zips that tune parameters? I'm pretty sure that there are already heaps of mods like that on XDA. All-in-one or universal scripts are tricky because every device is different and behave different based on their hardware (as already said), so they can be a hit and miss for some users. But I'll might look into it. 

gsstudios


----------



## dipro.tanvir (Mar 5, 2016)

What is gentle fair sleepers ? Can someone explain?

Sent from my XT1068 using Tapatalk


----------



## neonkat (Mar 6, 2016)

dipro.tanvir said:


> What is gentle fair sleepers ? Can someone explain?
> 
> Sent from my XT1068 using Tapatalk

Click to collapse



*Sleeper Fairness is a concept used by CFS which treat sleeping/waiting tasks as if they were in a run queue. This implies tasks which spend most of the time waiting for an user input and such will get a fair share of CPU when they need it. Disabling Gentle Fair Sleepers could improve UI responsiveness.*


----------



## mrrocketdog (Mar 6, 2016)

hey @neonkat , you know some stuff. all this time i thought you were just another pretty face 
p.s. i myself can now copy/paste , perform two fastboot commands _*and*_ wipe my own a$$. :banghead:

"err on the side of kindness"


----------



## same-xx (Mar 6, 2016)

Hey bro, thank you for yhis amazing guide, what is been my bible when testing roms. I have a question: Can u tell me where can I found interactive governor tuning table for sammy gt-i9506. I can only find guides to nexus.


----------



## neonkat (Mar 6, 2016)

same-xx said:


> Hey bro, thank you for yhis amazing guide, what is been my bible when testing roms. I have a question: Can u tell me where can I found interactive governor tuning table for sammy gt-i9506. I can only find guides to nexus.

Click to collapse



what kind of tuning?

i mean like the basics or tuning the governer deeply(if you have kernel sources)?


----------



## Existz161084 (Mar 6, 2016)

my kernel supports many governor here...

some was explained here some not...
the default one is Governor InterExtreme.... i think this is interactive base from its name
since its the default from the kernel so i think its best..
but i allways wondering anyone know or explain how interextreme governor works?

sory bad english its not my native language


----------



## same-xx (Mar 6, 2016)

I want as much performance as possible with some battery saving. But if that is impossible to achieve, then just as much performance as possible. I attached files, so maybe u can help me make these better, unless these are garbage and I'm back to starting point. Really appreciate your input.


----------



## Sickaxis79 (Mar 6, 2016)

You rule


----------



## kamikaze702k (Mar 8, 2016)

Awesome info


----------



## Saber (Mar 11, 2016)

Existz161084 said:


> my kernel supports many governor here...
> 
> some was explained here some not...
> the default one is Governor InterExtreme.... i think this is interactive base from its name
> ...

Click to collapse



Will look for actual description soon. 

gsstudios

*Update:* The dev only said it was a tuned interactive governor, but after my close analysis of the governor's source code, it favors performance while maintaining good battery life. OP updated.


----------



## PiggyFlooper (Mar 13, 2016)

ok, from before, i mentioned using a script ran at boot to change the IO schedule on each one, so that may run in a loop, at the end of this script you can use a sleep, might want to use busybox sleep function(and per however long u want between each cycle), and then run the script again-timed loop.
As it is now, for me, the script won't loop, but the settings stick when changing schedulers (checked using kernel adiutor) it's speller auditor authors. They're sticking with initials commands ran. I gave an example as to how to check OS and apply different settings based on jb- and kk+.
So if anyone would like to make this script more automated or more thorough by using advised settings for other schedulers, that would be great, so, please help

https://db.tt/pAR9OogM

Sent from above


----------



## _Bon_Bon (Mar 13, 2016)

PiggyFlooper said:


> ok, from before, i mentioned using a script ran at boot to change the IO schedule on each one, so that may run in a loop, at the end of this script you can use a sleep, might want to use busybox sleep function(and per however long u want between each cycle), and then run the script again-timed loop.
> As it is now, for me, the script won't loop, but the settings stick when changing schedulers (checked using kernel adiutor) it's speller auditor authors. They're sticking with initials commands ran. I gave an example as to how to check OS and apply different settings based on jb- and kk+.
> So if anyone would like to make this script more automated or more thorough by using advised settings for other schedulers, that would be great, so, please help
> 
> ...

Click to collapse



I can take a look at your script :good: I have few tweaks and stuff, just send me a PM if you want something else from it


----------



## tet-bundy (Mar 15, 2016)

Seems not to really fit into ur concept, but as it is a very common cpu governor i thought u Maybe want to add a link to this thread http://forum.xda-developers.com/showthread.php?t=3269557 to the interactive tunables section.

Apart from this Very NICE! Helped me a lot. Thanks for ur effort!

Gesendet von meinem SM-G800F mit Tapatalk


----------



## neonkat (Mar 15, 2016)

tet-bundy said:


> Seems not to really fit into ur concept, but as it is a very common cpu governor i thought u Maybe want to add a link to this thread http://forum.xda-developers.com/showthread.php?t=3269557 to the interactive tunables section.
> 
> Apart from this Very NICE! Helped me a lot. Thanks for ur effort!
> 
> Gesendet von meinem SM-G800F mit Tapatalk

Click to collapse



that's for the 5x,i have tried that with other devices,didn't got all the stuffs listed,though its good for understanding things deeply.


----------



## tet-bundy (Mar 15, 2016)

neonkat said:


> that's for the 5x,i have tried that with other devices,didn't got all the stuffs listed,though its good for understanding things deeply.

Click to collapse



sure the actual values are for the 5x. But u can follow the guide and set ur device up according to ur own device by following this guide. so did I with my g800f.  

Gesendet von meinem SM-G800F mit Tapatalk


----------



## bubbeld (Mar 20, 2016)

any suggestions for best settings for a xperia z for best battery life ?


----------



## tet-bundy (Mar 20, 2016)

bubbeld said:


> any suggestions for best settings for a xperia z for best battery life ?

Click to collapse



Powersave governor

Gesendet von meinem SM-G800F mit Tapatalk


----------



## Saber (Mar 21, 2016)

bubbeld said:


> any suggestions for best settings for a xperia z for best battery life ?

Click to collapse



For a well balanced governor, interactive, ondemand or conservative are what you might like.

gsstudios


----------



## geminihc (Mar 22, 2016)

thanks! but there is still one small thing i dont understand about Hotplugs. I'm using kernel adiutor and it allows me to turn multiple hotplugs on at the same time.

but from what i'm understanding, you should ONLY have one Hotplug on right? 

Anyway, "MSM hotplug" was on by default , and I want to use Alucard. Can I leave BOTH on , or do i have to turn off MSM hotplug.

The phone seems to work fine in either scenarios.. (im on 777 kernel with vs985 lg g3, on alucard governer)


----------



## Saber (Mar 22, 2016)

geminihc said:


> thanks! but there is still one small thing i dont understand about Hotplugs. I'm using kernel adiutor and it allows me to turn multiple hotplugs on at the same time.
> 
> but from what i'm understanding, you should ONLY have one Hotplug on right?
> 
> ...

Click to collapse



You should only use one hotplug method at a time. Having more than one enabled is not very good for your phone, and will certainly cause problems. 

gsstudios


----------



## rtorres01 (Mar 23, 2016)

Hey guys,

I have a note 4 910c currently with googy -max kernel. I wonder what set value in the I / O ( CFC ) , for use SD card 64GB and Foldermount app to move dates and OBB heavy games.
When used the Synapse application always suggested the value of 2048kb , even saving a 256kb profile.
Miha biggest question is what value to use and pq the synapse always changes when opening . It is a system suggestion ?

Thank you very much,


----------



## neonkat (Mar 23, 2016)

rtorres01 said:


> Hey guys,
> 
> I have a note 4 910c currently with googy -max kernel. I wonder what set value in the I / O ( CFC ) , for use SD card 64GB and Foldermount app to move dates and OBB heavy games.
> When used the Synapse application always suggested the value of 2048kb , even saving a 256kb profile.
> ...

Click to collapse



i/o for ext sd depends upon the type of sd card.if you have a class 10 sd card,use 2048 or 4096 read ahead,you may see some issue after changing them to higher values,in that case,keep it to 1024 kb.


----------



## Mrcactuseater (Mar 31, 2016)

@gsstudios hey man idk if you're still doing this or not, but I found another governor for you to add; Cafactive

Tapatalk'd from my Twisted, Yank'd Nexus 5


----------



## Saber (Mar 31, 2016)

Mrcactuseater said:


> @gsstudios hey man idk if you're still doing this or not, but I found another governor for you to add; Cafactive
> 
> Tapatalk'd from my Twisted, Yank'd Nexus 5

Click to collapse



Thanks. Will find the description soon.

gsstudios

*Update: OP updated. Check description for Cafactive*


----------



## tet-bundy (Apr 5, 2016)

Could u maybe add description of alucard governor tunables? I don't find such. It already seems preety good balanced with defaults, but i think it could be tweaked even a bit more.
Would be greatful!
Anyway, great op!

Gesendet von meinem SM-G800F mit Tapatalk

---------- Post added at 05:47 PM ---------- Previous post was at 05:04 PM ----------






tet-bundy said:


> Could u maybe add description of alucard governor tunables? I don't find such. It already seems preety good balanced with defaults, but i think it could be tweaked even a bit more.
> Would be greatful!
> Anyway, great op!
> 
> Gesendet von meinem SM-G800F mit Tapatalk

Click to collapse



Ok as usual, right after asking question I find sth.
http://forum.xda-developers.com/showthread.php?t=2845768
Maybe (course with goodwill of the author) u want to add the info from this thread(OP)
Best regards

Gesendet von meinem SM-G800F mit Tapatalk

---------- Post added at 05:49 PM ---------- Previous post was at 05:47 PM ----------




tet-bundy said:


> Could u maybe add description of alucard governor tunables? I don't find such. It already seems preety good balanced with defaults, but i think it could be tweaked even a bit more.
> Would be greatful!
> Anyway, great op!
> 
> ...

Click to collapse





Gesendet von meinem SM-G800F mit Tapatalk


----------



## marcdw (Apr 5, 2016)

Nice find @tet-bundy. The OPs in that thread are quite informative, although dated. I wonder what (if any) Alucard tunables have changed in the past year or so since those posts.


LG G3 D851, PAC-MAN ROM, Tapatalk 4.9.5


----------



## Saber (Apr 5, 2016)

tet-bundy said:


> Could u maybe add description of alucard governor tunables? I don't find such. It already seems preety good balanced with defaults, but i think it could be tweaked even a bit more.
> Would be greatful!
> Anyway, great op!
> 
> ...

Click to collapse



I will add this later today.

gsstudios

Edit: OP has been updated. Look for the descriptions in the tunable section. However, as stated in the changelogs, I have run out of room for descriptions. Therefore to see the rest of the info, you must head over to my website 
Edit2: It seems that I have included tunable descriptions for alucard hotplug instead of the governor. I don't think I can fit the tunable descriptions in anyway.


----------



## Saber (Apr 5, 2016)

marcdw said:


> Nice find @tet-bundy. The OPs in that thread are quite informative, although dated. I wonder what (if any) Alucard tunables have changed in the past year or so since those posts.
> 
> 
> LG G3 D851, PAC-MAN ROM, Tapatalk 4.9.5

Click to collapse



Nothing has changed in regards to tunables. 

gsstudios


----------



## tet-bundy (Apr 6, 2016)

gsstudios said:


> Nothing has changed in regards to tunables.
> 
> gsstudios

Click to collapse



Ok i gound that i cannot set pump_dec_step nor pump_inc_step to 4 as stated in the thread. Only values 1-3.
Unfortunatly i don't know how up yo date my implementation of alucard is, but as the kernel was released rather recently i suppose it to be more up to date than what tbe above thread refers to.

Best regards
Bundy

Gesendet von meinem SM-G800F mit Tapatalk


----------



## Saber (Apr 6, 2016)

tet-bundy said:


> Ok i gound that i cannot set pump_dec_step nor pump_inc_step to 4 as stated in the thread. Only values 1-3.
> Unfortunatly i don't know how up yo date my implementation of alucard is, but as the kernel was released rather recently i suppose it to be more up to date than what tbe above thread refers to.
> 
> Best regards
> ...

Click to collapse



If you want to see what is the range you can set, scroll down the github source (for the kernel you are currently using) of the cpufreq_alucard file until you see something like this:

https://github.com/dorimanx/DORIMAN...master/drivers/cpufreq/cpufreq_alucard.c#L148

Latest Alucard supports up to a value of 4. 
(Based on DorimanX kernel source where Dorimanx keeps his governors up to date frequently). 

gsstudios

Edit: I did a bit of searching for you and it seems that the alucard you are describing is an old version. Here is the reasoning: https://github.com/DJSteve/G800F-LL_Kernel/blob/OC-New/drivers/cpufreq/cpufreq_alucard.c#L309


----------



## swat4samp (Apr 7, 2016)

Thanks for this well informed guide gsstudios. 
PS: Saber looking splendid in your DP


----------



## giteshraheja (Apr 8, 2016)

Hey I want help on my kernel and I/O. Should I set smartass v2 ,ondemand or interactive as I want to conserve battery with nice performance in my Samsung Galaxy s duos also which I/O is best suited..


----------



## Saber (Apr 8, 2016)

giteshraheja said:


> Hey I want help on my kernel and I/O. Should I set smartass v2 ,ondemand or interactive as I want to conserve battery with nice performance in my Samsung Galaxy s duos also which I/O is best suited..

Click to collapse



Interactive or smartassv2 should give good performance on your device while still being battery friendly. As for I/o, your device should use ROW or SIO.


----------



## giteshraheja (Apr 9, 2016)

gsstudios said:


> Interactive or smartassv2 should give good performance on your device while still being battery friendly. As for I/o, your device should use ROW or SIO.

Click to collapse



Hey how about interactive with sio. Is there any app that can give score on using different combination


----------



## Saber (Apr 9, 2016)

giteshraheja said:


> Hey how about interactive with sio. Is there any app that can give score on using different combination

Click to collapse



For CPU, geekbench is what you want to use. As for I/O, use androbench. Don't use apps that test both like antutu as those are for modern devices which have very fast CPUs and graphics, and they are always changing with updates. 

gsstudios


----------



## deepu458 (Apr 13, 2016)

Hi @gsstudios, thx for the informative article. I had visited this article so many time when i try to tune my Bacon for batter battery life. I have a question for u in regards to the CPU Governor as u mentioned OnDemand being the best for battery life ur comment on ZZMove _YankBatteryExtreme? which one u feel now a days have good battery backup. Sorry didn't mean to offend u just wants to make sure.


----------



## Saber (Apr 13, 2016)

deepu458 said:


> Hi @gsstudios, thx for the informative article. I had visited this article so many time when i try to tune my Bacon for batter battery life. I have a question for u in regards to the CPU Governor as u mentioned OnDemand being the best for battery life ur comment on ZZMove _YankBatteryExtreme? which one u feel now a days have good battery backup. Sorry didn't mean to offend u just wants to make sure.

Click to collapse



I would say zzmoove may be a better overall governor than ondemand. However, you will have to try it out for yourself as I don't have the same device  If you are still unsure, look at the kernel thread for the kernel you  are using as some kernels may perform better with certain governors. 

There is nothing wrong with your post, I encourage discussions like this 

gsstudios


----------



## neonkat (Apr 14, 2016)

gsstudios said:


> I would say zzmoove may be a better overall governor than ondemand. However, you will have to try it out for yourself as I don't have the same device  If you are still unsure, look at the kernel thread for the kernel you  are using as some kernels may perform better with certain governors.
> 
> There is nothing wrong with your post, I encourage discussions like this
> 
> gsstudios

Click to collapse



what do you think about zzmove and 
yankdemand?

i have used both and they performed equally well but i found that yankdemand gave me more battery life.


----------



## Deonta23 (Apr 14, 2016)

Is it bad to use two different types of governors with big & little? Elementalx & intelliactive? Also if not which would make more sense for little? I've also noticed in OP at the end of post two it shows the original ondemand and interactive governors use less power. Could it be said that these would offer better battery/performance than their tweaked counterparts. Does interactive with ghost pepper profile outperform intelliactive. Sorry for so many questions just really would like to optimize. And thank you in advance this is was a great write up!


----------



## Saber (Apr 14, 2016)

neonkat said:


> what do you think about zzmove and
> yankdemand?
> 
> i have used both and they performed equally well but i found that yankdemand gave me more battery life.

Click to collapse



They are both great CPU governors. Choose whichever one that is best for you (in this case, yankdemand). 

gsstudios


----------



## Saber (Apr 14, 2016)

Deonta23 said:


> Is it bad to use two different types of governors with big & little? Elementalx & intelliactive? Also if not which would make more sense for little? I've also noticed in OP at the end of post two it shows the original ondemand and interactive governors use less power. Could it be said that these would offer better battery/performance than their tweaked counterparts. Does interactive with ghost pepper profile outperform intelliactive. Sorry for so many questions just really would like to optimize. And thank you in advance this is was a great write up!

Click to collapse



It isn't a bad thing to use different governors on different cores. However, it is always best to use the same governor on all cores for the best stability and to have the best experience with the governor. I am not sure whether interactive with ghost pepper profile will beat intelliactive. However, all I can say is that the profile optimizes interactive really well towards performance without any change in code whereas intelliactive is a rewritten form for better performance. And of course, both still have great battery life.

gsstudios


----------



## JJEEGG2211 (Apr 27, 2016)

wow. this is incredibly informative. great work! 
thank you!


----------



## Follow_and_Feel (May 2, 2016)

Hey guys 

Just a quick question. If I connect my phone to my computer and access my 200GB MicroSD card it shows not even half of the folders which are on the SD card, e.g. my music.

*Could this be related to I/O schedulers and the read-ahead amount for external storage?*

I've tried some schedulers and different read-ahead amounts - to no avail. Do you know what could cause this problem?


----------



## Saber (May 3, 2016)

Follow_and_Feel said:


> Hey guys
> 
> Just a quick question. If I connect my phone to my computer and access my 200GB MicroSD card it shows not even half of the folders which are on the SD card, e.g. my music.
> 
> ...

Click to collapse



Hi,

Schedulers and read ahead values have no effect on accessing files via PC. 

There are a few things you can do. If these folders have been newly created, sometimes it helps to restart your phone to force a refresh on the storages. 

If you have a custom recovery, try mounting USB storage in recovery and see if this helps. 

200GB seems like a huge SD card, you may be better off with a SD card USB adapter instead of letting android handle transfers. 

One last thing that may help is to format your SD card to a different file system. (Exfat is commonly used for sdxc, but may not be the best for compatibility). 

gsstudios


----------



## Saber (May 6, 2016)

*OP has been updated*

Here is the changelog for today:


```
07/05/16:
- Added description for lightning governor, thunderplug hotplug and blu_plug hotplug
```

gsstudios


----------



## yarpiin (May 7, 2016)

gsstudios said:


> OP has been updated
> 
> Here is the changelog for today:
> 
> ...

Click to collapse



great job youre the best 

Sent from my OnePlus2 using XDA Labs


----------



## mistermojorizin (May 8, 2016)

this is an awesome, awesome guide! i've been referring to it very frequently for a long time. My question is if anyone has any ideas for the best way to tune/optimize a phone with an sd810. The phone drops performance by 50% after getting hot. So some of the suggestions (e.g., the performance governor is best for performance) actually don't apply,  since this governor causes performance to drop much quicker than other governors which, while may not have as quick of a cpu ramp up, are balanced enough to have better performance on average by preventing heat and throttling.

any tips in any tuneables discussed here that could help with finding a better balance that will allow to an sd810 to have better performance longer?


----------



## Mrcactuseater (May 8, 2016)

mistermojorizin said:


> this is an awesome, awesome guide! i've been referring to it very frequently for a long time. My question is if anyone has any ideas for the best way to tune/optimize a phone with an sd810. The phone drops performance by 50% after getting hot. So some of the suggestions (e.g., the performance governor is best for performance) actually don't apply,  since this governor causes performance to drop much quicker than other governors which, while may not have as quick of a cpu ramp up, are balanced enough to have better performance on average by preventing heat and throttling.
> 
> any tips in any tuneables discussed here that could help with finding a better balance that will allow to an sd810 to have better performance longer?

Click to collapse



Go to the 6p thread and you will see a list of governor tweaks. Those will help significantly. 

Tapatalk'd from my Twisted, Despaired Nexus 5x


----------



## mistermojorizin (May 8, 2016)

Mrcactuseater said:


> Go to the 6p thread and you will see a list of governor tweaks. Those will help significantly.
> 
> Tapatalk'd from my Twisted, Despaired Nexus 5x

Click to collapse



Thanks, i've been following that thread since it started in the 5x forum and then got split to the 6p forum. I'm using one of the profiles from that thread on ex kernel. There's just a ton more info in this thread, not just governors, and it's a bit easier to understand. since lots of phones have the sd810 wanted to see if the OP here has some thoughts. also, was wondering re i/o schedulers and gpu schedulers that work best with that SoC.


----------



## Saber (May 9, 2016)

mistermojorizin said:


> Thanks, i've been following that thread since it started in the 5x forum and then got split to the 6p forum. I'm using one of the profiles from that thread on ex kernel. There's just a ton more info in this thread, not just governors, and it's a bit easier to understand. since lots of phones have the sd810 wanted to see if the OP here has some thoughts. also, was wondering re i/o schedulers and gpu schedulers that work best with that SoC.

Click to collapse



For snapdragon CPU governor, you best with interactive/yankactive/kernel developer's recommended governor. 

For I/O scheduler, it is ZEN/ROW/FIOPS/BFQ.

Not too sure on GPU governor, so I would stick with what the kernel developer has set. 

gsstudios


----------



## ramrastus (May 9, 2016)

gsstudios said:


> For snapdragon CPU governor, you best with interactive/yankactive/kernel developer's recommended governor.
> 
> For I/O scheduler, it is ZEN/ROW/FIOPS/BFQ.
> 
> ...

Click to collapse



Can you pls tell me about virtual memory? And which virtual memory setting is best for snapdragon 1gp ram?

Sent from my titan using Tapatalk


----------



## Mrcactuseater (May 10, 2016)

ramrastus said:


> Can you pls tell me about virtual memory? And which virtual memory setting is best for snapdragon 1gp ram?
> 
> Sent from my titan using Tapatalk

Click to collapse



Don't be touching those things if you don't understand them. 

Tapatalk'd from my Twisted, Despaired Nexus 5x


----------



## DB126 (May 10, 2016)

gsstudios said:


> For snapdragon CPU governor, you best with interactive/yankactive/kernel developer's recommended governor.
> 
> For I/O scheduler, it is ZEN/ROW/FIOPS/BFQ.
> 
> ...

Click to collapse



I find the relatively simplistic deadline scheduler to be more responsive than ROW on several devices equipped with a snapdragon 800. No obvious hit to battery life with my workflow (mostly read with occasional write storms). Obviously a lot has to do with the specific SoC and other kernel optimizations. Just sharing experiences.


----------



## tet-bundy (May 10, 2016)

*interactive gov tunables*

Hi,
so i finally found a document published by qualcomm with very nice description for the tunables of the interactive gov.
maybe u want to replace/add the descriptions as they are much more precise i think.
so here u go:




*target_loads* The CPU frequency is adjusted to achieve this load. _Target_loads_ also accepts strings as arguments such that it can be different for different values of current frequency. For example, the string 


        '85 1000000:90 1700000:99’ would mean: target_loads = 
85, if cur_freq < 1 GHz
90, if 1 GHz < cur_freq < 1.7 GHz
99, if cur_freq > 1.7 GHz.
    
 The higher the _target_loads_ value for a particular frequency, the lower the next frequency picked so that the load is achieved until the next. The lower the _target_loads_, the more often the governor will raise CPU speeds to bring the load below the target.
*highspeed_freq* The intermediate frequency to jump in case the load exceeds _go_hispeed_load_. If the load stays high for the amount of time specified in _above_hispeed_delay_, then the speed may be bumped higher.
*go_highspeed_load* If the load exceeds this value, then the next frequency chosen is at least hispeed.
*above_highspeed_delay* Keep the CPU frequency at _hispeed_freq_ (or above) for _min_sample_time_ before ramping up the frequency.
*min_sample_time* The minimum time interval to wait at any frequency before dropping to lower frequencies.
*sampling_rate* The sampling rate of the interactive governor. This is how often you want the kernel to look at the CPU usage and to make decisions on what to do about the frequency. (also referred to as _timer_rate_).
*sampling_down_factor* This parameter controls the rate at which the kernel makes a decision on when to decrease the frequency while running at top speed. When set to 1 (the default) decisions to reevaluate load are made at the same interval regardless of current clock speed. But when set to greater than 1 (e.g., 100) it acts as a multiplier for the scheduling interval for reevaluating load when the CPU is at its top speed due to high load. This improves performance by reducing the overhead of load evaluation and helping the CPU stay at its top speed when truly busy, rather than shifting back and forth in speed.
*sync_freq feature* This feature will cause a CPU frequency to stay above a particular value _sync_freq_) if certain conditions (determined by the two nodes _up_threshold_any_cpu_freq_ and _up_threshold_any_cpu_load_) are satisfied.
*sync_freq* Only when both of the above conditions are satisfied will the CPU not drop below this frequency value. The higher this value, the higher the frequency to jump will be when the above conditions are satisfied.
*up_threshold_any_cpu_freq* If the maximum frequency across all the CPUs is higher than or equal to this frequency value, do not let the current CPU fall below _sync_freq_. The higher this value, the fewer the chances to go to _sync_freq_.
*up_threshold_any_cpu_load* If the maximum frequency across all the CPUs is higher than or equal to this frequency value, do not let the current CPU fall below _sync_freq_. The higher this value, the fewer the chances to go to _sync_freq_.
    


Hope this helps so and maybe u want to add it. was searching for a complete parameter description for quite a while... (actually i can coose some more options in my implementation, but think those are the most important).

Best regards,
Tet

P.S.: Thanks for the thread anyway. get back to this frequently!


----------



## Saber (May 11, 2016)

ramrastus said:


> Can you pls tell me about virtual memory? And which virtual memory setting is best for snapdragon 1gp ram?

Click to collapse



I will suggest you to read up on Google because there is way too many settings to play with. 

In basic, there are two types of memory android can use. Physical memory which is RAM and virtual memory (software allocated/managed). As someone has suggested, it's best not to touch these settings if you don't completely know what you are doing. 

There is one setting you might touch, swappiness. You can increase it for more free RAM or decrease for performance.

gsstudios


----------



## neonkat (May 11, 2016)

ramrastus said:


> Can you pls tell me about virtual memory? And which virtual memory setting is best for snapdragon 1gp ram?
> 
> Sent from my titan using Tapatalk

Click to collapse



for 1 gb device,intel recommends 400mb zram(vm) memory with 100 swappiness.(given on a page where they explain about virtual memory)

i will recommend you to use 300-370mb swap(depending on usage)with 80 swappiness.

further,you can google and find some websites which explain about the vm parameters so you can tune them up to you liking.


----------



## Saber (May 12, 2016)

tet-bundy said:


> Hi,
> 
> 
> 
> ...

Click to collapse



Thanks for the info, will add it to my guide soon. However, the problem with that guide is that some of the parameters are only for the qualcomm version of interactive. The generic google version won't have this. I will split up the tunables so it is more clear between these differences. 

gsstudios


----------



## tet-bundy (May 12, 2016)

gsstudios said:


> Thanks for the info, will add it to my guide soon. However, the problem with that guide is that some of the parameters are only for the qualcomm version of interactive. The generic google version won't have this. I will split up the tunables so it is more clear between these differences.
> 
> gsstudios

Click to collapse



That would be nice. I already wondered, why i didnt have some of them on my exynos driven handset

Gesendet von meinem ONE E1003 mit Tapatalk


----------



## genuine55 (May 18, 2016)

@gsstudios hey my friend u have any advice for good performance yet battery Friendly I have the s6 dealing with the big and little cores any advice would be appreciated I have most of the governors I'm using the sickness kernel v2


----------



## Saber (May 19, 2016)

genuine55 said:


> @gsstudios hey my friend u have any advice for good performance yet battery Friendly I have the s6 dealing with the big and little cores any advice would be appreciated I have most of the governors I'm using the sickness kernel v2

Click to collapse



Will look into this soon. I will update the recommended governor guides for newer SOCs. 

As for your question, the best governor to use for the s6 is interactive. Samsung has made modifications to the governor specifically for your device (unless the kernel developer has touch the governor code). You can search up interactive governor tweaks to make it more battery friendly. 

gsstudios


----------



## genuine55 (May 19, 2016)

gsstudios said:


> Will look into this soon. I will update the recommended governor guides for newer SOCs.
> 
> As for your question, the best governor to use for the s6 is interactive. Samsung has made modifications to the governor specifically for your device (unless the kernel developer has touch the governor code). You can search up interactive governor tweaks to make it more battery friendly.
> 
> gsstudios

Click to collapse



Thanks


----------



## rocksia (May 20, 2016)

my phone is note2, 2g ram,16g rom,now is use pure cm agnikernel 4.5.5,rom is cm13 ResurrectionRemix-M-v5.6.8.
any recommend for cpu governor,I/O scheduler for internal sd and external sd [email protected]


----------



## Saber (May 21, 2016)

*OP has been updated*

This time around, I have made many modifications to the tunables post. I have updated the interactive tuning guide descriptions for missing tunables and made descriptions more detailed. I also fixed a few other descriptions and added a few to other governors. I couldn't fit tunable descriptions for the qualcomm version of interactive, so you will have to look at my website for those descriptions. 

However due to limitations, I have removed the I/O scheduler tuning guide so you need to look at my website to get the full info. 

gsstudios

*Edit:* I ended up shortening the tunable descriptions for alucard hotplug and added the qualcomm interactive tunable descriptions


----------



## kanyazsombor (May 27, 2016)

gsstudios said:


> *OP has been updated*
> 
> This time around, I have made many modifications to the tunables post. I have updated the interactive tuning guide descriptions for missing tunables and made descriptions more detailed. I also fixed a few other descriptions and added a few to other governors. I couldn't fit tunable descriptions for the qualcomm version of interactive, so you will have to look at my website for those descriptions.
> 
> ...

Click to collapse



Thanks a lot for this amazing quide! 
I searched for cpuquiet without any results here. Do you have any knowledge on that? 

Sent from my A0001 using XDA-Developers mobile app


----------



## solar666 (May 27, 2016)

kanyazsombor said:


> Thanks a lot for this amazing quide!
> I searched for cpuquiet without any results here. Do you have any knowledge on that?
> 
> Sent from my A0001 using XDA-Developers mobile app

Click to collapse



You might have a look here:
https://android.googlesource.com/ke....10-lollipop-release/drivers/cpuquiet/Kconfig


----------



## Saber (May 27, 2016)

kanyazsombor said:


> Thanks a lot for this amazing quide!
> I searched for cpuquiet without any results here. Do you have any knowledge on that?

Click to collapse



I'll have a look on descriptions later. Although it isn't really a governor, it is a framework that has it's own set of governors. I still need to do more research 

gsstudios


----------



## V4LKyR (May 28, 2016)

I wish there was a database to download ALL THESE governors' .c and .h files...


----------



## Saber (May 29, 2016)

V4LKyR said:


> I wish there was a database to download ALL THESE governors' .c and .h files...

Click to collapse



Sounds like a good idea, but this would take some time to do. Personally, I think that giving a link to the source code is sufficient. 

gsstudios


----------



## V4LKyR (May 29, 2016)

gsstudios said:


> Sounds like a good idea, but this would take some time to do. Personally, I think that giving a link to the source code is sufficient.
> 
> gsstudios

Click to collapse



Yeah that's what I meant actually  At least a link database so that we can download these governors. I've read all those governors' descriptions and got all excited and stuff, but don't know how I can reach them (.c and .h files) and add them to my kernel to test.


----------



## neonkat (May 29, 2016)

V4LKyR said:


> Yeah that's what I meant actually  At least a link database so that we can download these governors. I've read all those governors' descriptions and got all excited and stuff, but don't know how I can reach them (.c and .h files) and add them to my kernel to test.

Click to collapse



look into some custom kernel git.you will get all required files+other modificiations required to make them work.


----------



## V4LKyR (May 29, 2016)

neonkat said:


> look into some custom kernel git.you will get all required files+other modificiations required to make them work.

Click to collapse



I know they're located in github. But the thing is, I'm a fresh developer yet and I don't know how to use github perfectly, so finding them is kinda hard for me. Also, I think people would want to be able to download most of the CPU governors from a fixed location. So, don't just tell me to go on github and look around. I know that already.


----------



## neonkat (May 29, 2016)

V4LKyR said:


> I know they're located in github. But the thing is, I'm a fresh developer yet and I don't know how to use github perfectly, so finding them is kinda hard for me. Also, I think people would want to be able to download most of the CPU governors from a fixed location. So, don't just tell me to go on github and look around. I know that already.

Click to collapse



so you know what files you need to edit to make a governer work?what extra stuffs you need to add/modify in your source?(makefile,defconfig,kconfig,etc)

some cpu governers need modification on source side too(elementalx).only adding the governer.c and governer.h will not add the governer to kernel.

well,github will only help you here.

and its not difficult to search the commit.just use the search option,find your governer.c and look for the commit which adds in the governer.

or maybe tell me the governer name,i can forward you to the commits of my kernel.


----------



## V4LKyR (May 29, 2016)

neonkat said:


> so you know what files you need to edit to make a governer work?what extra stuffs you need to add/modify in your source?(makefile,defconfig,kconfig,etc)
> 
> some cpu governers need modification on source side too(elementalx).only adding the governer.c and governer.h will not add the governer to kernel.
> 
> ...

Click to collapse



I understand brother, so could you at least link a few famous and commonly used cpu governors' githubs? Well, I've succeeded adding "zzmoove" governor to my kernel and it works, I think. I've made it the default CPU governor. I also want to add GPU governors and I/O schedulers and stuff.

Anyway, like I said, I think it would be just amazing to add a link to all these beautifully explained governors', and then this topic would be The Most Ultimate Source of All Kinds of Android Governors EVER In The World"


----------



## neonkat (May 29, 2016)

V4LKyR said:


> I understand brother, so could you at least link a few famous and commonly used cpu governors' githubs? Well, I've succeeded adding "zzmoove" governor to my kernel and it works, I think. I've made it the default CPU governor. I also want to add GPU governors and I/O schedulers and stuff.
> 
> Anyway, like I said, I think it would be just amazing to add a link to all these beautifully explained governors', and then this topic would be The Most Ultimate Source of All Kinds of Android Governors EVER In The World"

Click to collapse



yup i understand that but this guide is already full.i think op should request mods to give him a few more posts on page #1 or maybe make a new thread?

tell me the names,i have some popular governers in my kernel(yankactive,yankdemand,elementalx,zzmove,bluactive,intelli....).


----------



## V4LKyR (May 29, 2016)

neonkat said:


> yup i understand that but this guide is already full.i think op should request mods to give him a few more posts on page #1 or maybe make a new thread?
> 
> tell me the names,i have some popular governers in my kernel(yankactive,yankdemand,elementalx,zzmove,bluactive,intelli....).

Click to collapse



Thank you, but this is a whole different subject. What I'm talking about is to make all these governors in the OP reachable.

Can you PM me if you have Skype? I can ask you questions better on there.


----------



## Saber (May 29, 2016)

neonkat said:


> yup i understand that but this guide is already full.i think op should request mods to give him a few more posts on page #1 or maybe make a new thread?
> 
> tell me the names,i have some popular governers in my kernel(yankactive,yankdemand,elementalx,zzmove,bluactive,intelli....).

Click to collapse



*Done. *

I have requested mods to give me more space so I can post more info. 

gsstudios

*Edit: * Many thanks to @Heisenberg for responding to my request


----------



## Saber (May 30, 2016)

*OP updated*

Here are todays changes:


```
30/05/16:
- Initial reorganization of content - Tuning guides have been separated and will soon include examples of profiles
- I/O scheduler tuning guide is back! 
- Initial guide for TCP algorithms
- More to come soon ;)
```

gsstudios


----------



## Mrcactuseater (May 30, 2016)

gsstudios said:


> *OP updated*
> 
> Here are todays changes:
> 
> ...

Click to collapse



In that "more to come" part, could we see information on Toolchains?

Tapatalk'd from my Twisted, Despaired Nexus 5x


----------



## dsjiffry (May 31, 2016)

gsstudios said:


> Spoiler
> gsstudios

Click to collapse



Dude I have a small problem between interactive and intelliactive governors.

Intelliactive is the newer one right? And ignores hotplugging so does this mean better or worse battery savings on normal use??

Also what would you recommend between the two for a person who does only 1 or ½ hour of gaming per day. But does more light stuff like video watching (not streaming) and whatsapp during other hours???? (Also some web browsing now and then)

I read your recommended governors and in the balanced section you have rated both of these as "great". I don't have any of the governors which you have rated as "best" so I would like your opinion on this.


----------



## Saber (May 31, 2016)

Mrcactuseater said:


> In that "more to come" part, could we see information on Toolchains?
> 
> Tapatalk'd from my Twisted, Despaired Nexus 5x

Click to collapse



That would be for a different thread 

gsstudios


----------



## Saber (May 31, 2016)

dsjiffry said:


> Dude I have a small problem between interactive and intelliactive governors.
> 
> Intelliactive is the newer one right? And ignores hotplugging so does this mean better or worse battery savings on normal use??
> 
> ...

Click to collapse



Intelliactive would have slightly less battery life, but the smoothness gains and performance gains make it seem insignificant. For a gamer, intelliactive would be the better choice. If you don't like it, try playing around with interactive.

gsstudios


----------



## Saber (May 31, 2016)

dsjiffry said:


> Dude I have a small problem between interactive and intelliactive governors.
> 
> Intelliactive is the newer one right? And ignores hotplugging so does this mean better or worse battery savings on normal use??
> 
> ...

Click to collapse



Intelliactive would have slightly less battery life, but the smoothness gains and performance gains make it seem insignificant. For a gamer, intelliactive would be the better choice. If you don't like it, try playing around with interactive.

gsstudios


----------



## dsjiffry (Jun 4, 2016)

gsstudios said:


> Intelliactive would have slightly less battery life, but the smoothness gains and performance gains make it seem insignificant. For a gamer, intelliactive would be the better choice. If you don't like it, try playing around with interactive.
> 
> gsstudios

Click to collapse



Thank you.

Also one more thing it says that intelliactive avoids hotplugging. 
Is the hotplugging it has inbuilt better than mpdecision?????


----------



## Saber (Jun 5, 2016)

dsjiffry said:


> Thank you.
> 
> Also one more thing it says that intelliactive avoids hotplugging.
> Is the hotplugging it has inbuilt better than mpdecision?????

Click to collapse



Intelliactive is a governor and can be used with mpdecision. It should be use with intelliplug for optimal battery life and performance (if possible). In other words, it doesn't do any form of hotplugging, but it works in-sync with hotplug methods.


----------



## Saber (Jun 7, 2016)

*OP updated*

As per user request, I have added some info about cpuquiet (in the hotplug section). 

gsstudios


----------



## ramrastus (Jun 7, 2016)

gsstudios said:


> *OP updated*
> 
> As per user request, I have added some info about cpuquiet (in the hotplug section).
> 
> gsstudios

Click to collapse



Can you pls add intelliplug hotplug battery profile settings?

Sent from my Moto G 2014 using Tapatalk


----------



## Saber (Jun 7, 2016)

ramrastus said:


> Can you pls add intelliplug hotplug battery profile settings?
> 
> Sent from my Moto G 2014 using Tapatalk

Click to collapse



No wrys. I will have a look when I have time. Right now I am too consumed on exam studies 

gsstudios


----------



## ramrastus (Jun 7, 2016)

gsstudios said:


> No wrys. I will have a look when I have time. Right now I am too consumed on exam studies
> 
> gsstudios

Click to collapse



Its okie..Thank you mate!! Don't forget  I really miss intelliplug hotplug settings 

Sent from my Moto G 2014 using Tapatalk


----------



## dsjiffry (Jun 10, 2016)

@Ggstudios

I was tweaking the interactive governor and could you tell me how to make a soft cap on processor scaling.

Before going to the max. Frequency I would like the processor to cap at 1.7GHz for about 3 seconds.


----------



## nexus_vl (Jun 10, 2016)

dsjiffry said:


> @Ggstudios
> 
> I was tweaking the interactive governor and could you tell me how to make a soft cap on processor scaling.
> 
> Before going to the max. Frequency I would like the processor to cap at 1.7GHz for about 3 seconds.

Click to collapse



3 seconds is much to long 0.3 sounds better
Try something lile this: above_highspeed_delay "20000 1766400:60000" 
target_loads: "80 1766400:99"  
It will definitely keep speeds much longer under 1,7MHz


----------



## Mrcactuseater (Jun 10, 2016)

@gsstudios could you provide a description for ThunderX? Governor 100!?

Tapatalk'd from my Twisted, Despaired Nexus 5x


----------



## Saber (Jun 11, 2016)

Mrcactuseater said:


> @gsstudios could you provide a description for ThunderX? Governor 100!
> 
> Tapatalk'd from my Twisted, Despaired Nexus 5x

Click to collapse



*Done*

We've officially reached 100 CPU governors 

gsstudios


----------



## cL0uD` (Jun 11, 2016)

Can anybody explain zen hotplug?
My understanding is that it's supposed to unplug 2 cores when screen is off or when battery is below 15%, is it correct?
I have it set to 15% and 3000 ms, which is 3 seconds and I tried turning off the screen, but all 4 cores remain active according to kernel adiutor. What am I doing wrong?


----------



## myrums (Jun 13, 2016)

@gsstudios any chance you can do a review of fast hotplug? Info in second post http://forum.xda-developers.com/xperia-z2/orig-development/kernel-abricot-kernel-v3-t2965480


----------



## Saber (Jun 13, 2016)

myrums said:


> @gsstudios any chance you can do a review of fast hotplug? Info in second post http://forum.xda-developers.com/xperia-z2/orig-development/kernel-abricot-kernel-v3-t2965480

Click to collapse



I will have a look when I have time. Sorry guys, been busy lately. 

gsstudios


----------



## myrums (Jun 13, 2016)

gsstudios said:


> I will have a look when I have time. Sorry guys, been busy lately.
> 
> gsstudios

Click to collapse



Take your time. You have already done massive work here.:good:


----------



## Mrcactuseater (Jun 13, 2016)

@gsstudios when you have more free, could you possibly do some digging on the TCP algorithm CDG? I'm having some problems understanding it in comparison to Westwood.

Tapatalk'd from my Twisted, Despaired Nexus 5x


----------



## Saber (Jun 14, 2016)

Mrcactuseater said:


> @gsstudios when you have more free, could you possibly do some digging on the TCP algorithm CDG? I'm having some problems understanding it in comparison to Westwood.
> 
> Tapatalk'd from my Twisted, Despaired Nexus 5x

Click to collapse



Yep, I will look into this later. 

gsstudios

*Edit:* If you are not sure between the two, I would recommend *westwood *as it is  my favorite algorithm and is the default for many custom kernels.


----------



## Mrcactuseater (Jun 14, 2016)

gsstudios said:


> Yep, I will look into this later.
> 
> gsstudios
> 
> *Edit:* If you are not sure between the two, I would recommend *westwood *as it is  my favorite algorithm and is the default for many custom kernels.

Click to collapse



I recently switched to Westwood from CDG, it's early days but I'll see if there's any changes. 

Tapatalk'd from my Twisted, Despaired Nexus 5x


----------



## neonkat (Jun 14, 2016)

@gsstudios

have a look here.seems like 100% copy of this place.

idk if you allowed or not,but i found it there with no credits so jist reminded.


----------



## tet-bundy (Jun 14, 2016)

nexus_vl said:


> 3 seconds is much to long 0.3 sounds better
> Try something lile this: above_highspeed_delay "20000 1766400:60000"
> target_loads: "80 1766400:99"
> It will definitely keep speeds much longer under 1,7MHz

Click to collapse



i agree! 3 seconds is like eternity for ur cpu[emoji28] 

Gesendet von meinem ONE E1003 mit Tapatalk


----------



## -Zork- (Jun 15, 2016)

Testing on S7edge

A53 Alucard
A57 Smartmax 

Working battery life


----------



## guido28 (Jun 18, 2016)

Just got a 28148 with An Tu Tu benchmark...WOW...this is a 4 year old tab!!!


----------



## olibub (Jun 20, 2016)

hi i dont understand what i have set when i want tune a governor or scheduler :/ mainly i want tune interactive and noop but i dont know what i have do from your post ... can you give me a guide ??


----------



## tet-bundy (Jun 20, 2016)

olibub said:


> hi i dont understand what i have set when i want tune a governor or scheduler :/ mainly i want tune interactive and noop but i dont know what i have do from your post ... can you give me a guide ??

Click to collapse


http://forum.xda-developers.com/showthread.php?t=3269557

Gesendet von meinem ONE E1003 mit Tapatalk


----------



## PiggyFlooper (Jun 22, 2016)

olibub said:


> hi i dont understand what i have set when i want tune a governor or scheduler :/ mainly i want tune interactive and noop but i dont know what i have do from your post ... can you give me a guide ??

Click to collapse



The noop IO scheduler is not tunable. I have thrown together a zip with 4 different profiles- battery, smooth, performance, and gaming... just go into terminal and type in profile name. It's all automated.
Here's the link:
https://db.tt/MgeZjD3v

Enjoy
Feel free to edit for your device


----------



## mchapa489 (Jun 22, 2016)

Does anybody know how to reset interactive governor kernel values

Sent from my LG-H811 using Tapatalk


----------



## krasCGQ (Jun 22, 2016)

mchapa489 said:


> Does anybody know how to reset interactive governor kernel values

Click to collapse



Just reset your Kernel Tuning app's data and do a reboot.

Sent from my ASUS_Z00A using XDA Labs


----------



## mchapa489 (Jun 22, 2016)

krasCGQ said:


> Just reset your Kernel Tuning app's data and do a reboot.
> 
> Sent from my ASUS_Z00A using XDA Labs

Click to collapse



Thank you I thought it might be that simple but didn't wanna do anything hasty lol

Sent from my LG-H811 using Tapatalk


----------



## olibub (Jun 22, 2016)

PiggyFlooper said:


> The noop IO scheduler is not tunable. I have thrown together a zip with 4 different profiles- battery, smooth, performance, and gaming... just go into terminal and type in profile name. It's all automated.
> Here's the link:
> https://db.tt/MgeZjD3v
> 
> ...

Click to collapse



ok i try  and i have to flash zip ?? and after type name ?


----------



## PiggyFlooper (Jun 22, 2016)

olibub said:


> ok i try  and i have to flash zip ?? and after type name ?

Click to collapse



Yes type in name of profile in terminal emulator. You'll find them in /system/bin.
Change the max frequency values according to your device.


----------



## Saber (Jun 23, 2016)

*OP updated*

Here are today's changes:


```
23/03/16:
- Updated recommended CPU governors, removed rating system, combined single-core and multi-core recommended governors into general lists
- Updated recommended I/O schedulers, a few cosmetic fixes
- Simplified CDG TCP algorithm description
- Added Fast hotplug description
```

gsstudios


----------



## Saber (Jun 23, 2016)

Mrcactuseater said:


> I recently switched to Westwood from CDG, it's early days but I'll see if there's any changes.
> 
> Tapatalk'd from my Twisted, Despaired Nexus 5x

Click to collapse



The thing with CDG is that it is still a new TCP algorithm. Although the benefits of using CDG looks promising, it hasn't been tested thoroughly enough unlike algorithms like Westwood and Cubic. After all, it was only implemented into the linux kernel (not on default branch) last year 

gsstudios


----------



## Fulmega (Jun 23, 2016)

Thank you for this post.
Let's see if I learn something more about its operation


----------



## olibub (Jun 23, 2016)

PiggyFlooper said:


> Yes type in name of profile in terminal emulator. You'll find them in /system/bin.
> Change the max frequency values according to your device.

Click to collapse



so i try but i dont see any change  .. for me gaming withou effect, smooth too  etc. :/


----------



## mchapa489 (Jun 23, 2016)

krasCGQ said:


> Just reset your Kernel Tuning app's data and do a reboot.
> 
> Sent from my ASUS_Z00A using XDA Labs

Click to collapse



And what about if the values were put in by a script?

Sent from my LG-H811 using Tapatalk


----------



## neonkat (Jun 23, 2016)

mchapa489 said:


> And what about if the values were put in by a script?
> 
> Sent from my LG-H811 using Tapatalk

Click to collapse



wipe app data.

after reboot,it will take the values of the script.


----------



## mchapa489 (Jun 23, 2016)

From the kernel tuning app? 

Sent from my LG-H811 using Tapatalk

---------- Post added at 08:58 AM ---------- Previous post was at 08:55 AM ----------




neonkat said:


> wipe app data.
> 
> after reboot,it will take the values of the script.

Click to collapse



From the kernel tuning app?

Sent from my LG-H811 using Tapatalk


----------



## neonkat (Jun 23, 2016)

mchapa489 said:


> From the kernel tuning app?
> 
> Sent from my LG-H811 using Tapatalk
> 
> ...

Click to collapse



nope.

are you talking about a script made by you or by the kernel developer whom kernel you jse?

if made by the developer,then it is set to run automatically at every reboot.


----------



## mchapa489 (Jun 23, 2016)

Its actually a script I had to put in through terminal. Not by developer

Sent from my LG-H811 using Tapatalk


----------



## ithehappy (Jun 29, 2016)

Guys I have long thought about asking this, but never could find the time. Out of all the governors listed, I have tried almost all of them, but only two or three I have found suited to my needs, like Bluactive, Precognition and Intelliactive. Now the first two governors I have used, and I really liked, because they made the phone's UI to perform much more smoothly than default Interactive, while playing games frames were very consistent, very minimal dropped frames, and even other than gaming the overall system performance (scrolling, swiping on keyboard etc.) was really fluid, very minimal jittery. And the battery life didn't take much of a hit either! I mean maybe max of 10% if not less! But the default Interactive performs so much worse in comparison to that! Now I don't understand why people prefer it over governors like Bluactive, Precog etc! Also I have seen kernels of different phones, and try to find whether that governor is included or not, but in most cases I don't see them listed! These governors I like so much that I actually try to find a phone which will support a governor such as them with the help of a custom kernel. 

Could someone shed some more light on this?


----------



## krasCGQ (Jun 29, 2016)

ithehappy said:


> Could someone shed some more light on this?

Click to collapse



One reason: Because interactive is much approved by Google (the creator) and manufacturers, and it's has been tested well for stability.

Sent from my ASUS_Z00A using XDA Labs


----------



## DB126 (Jun 29, 2016)

ithehappy said:


> Could someone shed some more light on this?

Click to collapse




krasCGQ said:


> One reason: Because interactive is much approved by Google (the creator) and manufacturers, and it's has been tested well for stability.

Click to collapse



In addition:
- kernel cannot be replaced on many devices limiting choice of governors; of those interactive is often the best option
- intelligent tuning can usually yield significant improvements over stock config which is often all that is needed


----------



## Saber (Jun 29, 2016)

ithehappy said:


> Could someone shed some more light on this?

Click to collapse



I will give some simple points on this:
- Interactive is stable, has been tested on many different devices
- Is found in many kernels, sometimes the default governor or recommended choice of kernel developers
- Is thought to be a well balanced governor (not necessarily the best)
- Depending on what device/SOC you have, interactive may or may not perform well 
- There are many guides on how to tune it, therefore it is quite easy to get the desired scaling behavior

gsstudios


----------



## OdinTech (Jun 29, 2016)

gsstudios said:


> I will give some simple points on this:
> - Interactive is stable, has been tested on many different devices
> - Is found in many kernels, sometimes the default governor or recommended choice of kernel developers
> - Is thought to be a well balanced governor (not necessarily the best)
> ...

Click to collapse



Where can one find these guides? Are they in the OP

Sent from my LG-D722 using Tapatalk


----------



## ithehappy (Jun 29, 2016)

OdinTech said:


> Where can one find these guides? Are they in the OP
> 
> Sent from my LG-D722 using Tapatalk

Click to collapse



Precisely what I wanted to ask, thanks for beating me to it.


----------



## DB126 (Jun 30, 2016)

OdinTech said:


> Where can one find these guides? Are they in the OP

Click to collapse




ithehappy said:


> Precisely what I wanted to ask, thanks for beating me to it.

Click to collapse


http://bfy.tw/6WKE


----------



## ithehappy (Jun 30, 2016)

Davey126 said:


> http://bfy.tw/6WKE

Click to collapse



Thank you sir. But aren't these settings limited to those two phones only, 5X and 6P, or is it for all devices?


----------



## DB126 (Jun 30, 2016)

ithehappy said:


> Thank you sir. But aren't these settings limited to those two phones only, 5X and 6P, or is it for all devices?

Click to collapse



The guides outline the various tunables (not all are available in every kernel) and sometimes make generic recommendations. If you are looking for a Rx specific to your device then you probably shouldn't be messing with governor tweaks. There is no pre-defined configuration that works for everyone; understanding what the knobs do is the key a satisfactory outcome (along with a way to objectively measure the impact of each change). The guides can help but you'll need to set aside some eyeball time for reading/assimilation.


----------



## SyCoREAPER (Jul 1, 2016)

The one section that doesn't seem to be up to date (at least with options I have?) is the GPU section. What the hell do all these do? I can't seem to find much on them like I can the CPU Govs
I have:

spdm_bw_hyp
bw_hwmon
bw_vbif
gpubw_mon
msm-adreno-tz (stock option)
cpufreq
userspace
powersave <--Self Explanitory 
performance <--Self Explanitory 
simple_ondemand


----------



## Haldi4803 (Jul 1, 2016)

Most of them aren't even working gpu Governors ^^


----------



## Saber (Jul 1, 2016)

SyCoREAPER said:


> The one section that doesn't seem to be up to date (at least with options I have?) is the GPU section. What the hell do all these do? I can't seem to find much on them like I can the CPU Govs
> I have:
> 
> spdm_bw_hyp
> ...

Click to collapse



I've never heard of some of them. I'll probably just get more detailed descriptions on the common governors instead.


----------



## SyCoREAPER (Jul 2, 2016)

gsstudios said:


> I've never heard of some of them. I'll probably just get more detailed descriptions on the common governors instead.

Click to collapse



I sent you a PM regarding a post of yours


----------



## Predatorhaze (Jul 3, 2016)

cpu scheduler ok,sot are great.But when playing games (high end) the battery going quick.How i schedule the gpu for battery saving? i have some govs for the gpu like syco mentioned but what do they?


----------



## tet-bundy (Jul 3, 2016)

read it and have ur question answered its emphasized so u should not miss it the 2nd time..


ithehappy said:


> Thank you sir. But aren't these settings limited to those two phones only, 5X and 6P, or is it for all devices?

Click to collapse




Gesendet von meinem ONE E1003 mit Tapatalk

---------- Post added at 01:23 PM ---------- Previous post was at 01:22 PM ----------




Predatorhaze said:


> cpu scheduler ok,sot are great.But when playing games (high end) the battery going quick.How i schedule the gpu for battery saving? i have some govs for the gpu like syco mentioned but what do they?

Click to collapse



how would u save fuel driving full throttle?

Gesendet von meinem ONE E1003 mit Tapatalk


----------



## PlayersHeaders (Jul 3, 2016)

thanks!


----------



## quantan (Jul 7, 2016)

@gsstudios Would you please give some suggestions of smartwatch kernel? The kernel I'm using has interactive, darkness, intelliactive, interactiveX, thunderX, pegasusq, smartmax, conservative, ondemand, userspace, powesave and performance. What I only care is battery life. Thank you so much!


----------



## dsjiffry (Jul 8, 2016)

@gsstudios

Where can I learn more about how to tweak the intelliactive parameters. There don't seem to be many threads on this topic.


----------



## Saber (Jul 8, 2016)

dsjiffry said:


> @gsstudios
> 
> Where can I learn more about how to tweak the intelliactive parameters. There don't seem to be many threads on this topic.

Click to collapse



You may find that a lot of the intelliactive parameters are the same as interactive governor parameters. You should be able to follow the interactive tuning guides. 

Edit: Have a look at interactive qualcomm version of my tuning descriptions. They are the same 

gsstudios


----------



## Saber (Jul 8, 2016)

quantan said:


> @gsstudios Would you please give some suggestions of smartwatch kernel? The kernel I'm using has interactive, darkness, intelliactive, interactiveX, thunderX, pegasusq, smartmax, conservative, ondemand, userspace, powesave and performance. What I only care is battery life. Thank you so much!

Click to collapse



I don't have a smartwatch so I am not familiar with the behaviors of certain governors. However, since they have low powered SOCs, I would assume interactive or ondemand would work best. Smartmax might also work fine. 

PegasusQ is an old governor, so it's best to not use it. Userspace, performance, conservative should be avoided. 

As for the rest, that's up to how you think it performs 

gsstudios


----------



## dsjiffry (Jul 8, 2016)

gsstudios said:


> spoiler
> 
> gsstudios

Click to collapse



K. I'll check it out. Thank you.


What about the 2 phase scheduling parameter could be you explain how it works maybe with an example.


----------



## Saber (Jul 8, 2016)

dsjiffry said:


> K. I'll check it out. Thank you.
> 
> 
> What about the 2 phase scheduling parameter could be you explain how it works maybe with an example.

Click to collapse



Maybe this will help you:

http://forum.xda-developers.com/showpost.php?p=64706879&postcount=1153

gsstudios


----------



## ramrastus (Jul 8, 2016)

@gsstudios can you please tell me the best interactive governor settings for 1gp ram device (400 snapdragon chipset) ?

Sent from my Moto G 2014 using Tapatalk


----------



## tmihai20 (Jul 8, 2016)

@ramrastus: it is impossible for him to know something like that. Read the first posts, he mentions there what are the recommended governors for Qualcomm chipsets.


----------



## tet-bundy (Jul 8, 2016)

ramrastus said:


> @gsstudios can you please tell me the best interactive governor settings for 1gp ram device (400 snapdragon chipset) ?
> 
> Sent from my Moto G 2014 using Tapatalk

Click to collapse



ur interests are "hacking" but u dunno how to properly tune ur cpu governor?

Gesendet von meinem ONE E1003 mit Tapatalk


----------



## dsjiffry (Jul 8, 2016)

ramrastus said:


> @gsstudios can you please tell me the best interactive governor settings for 1gp ram device (400 snapdragon chipset) ?

Click to collapse



Read through this and ask them for tips.

http://forum.xda-developers.com/moto-g-2014/general/settings-tweaks-forperformance-battery-t3310682


----------



## MustangLife03 (Jul 8, 2016)

dsjiffry said:


> @gsstudios
> 
> Where can I learn more about how to tweak the intelliactive parameters. There don't seem to be many threads on this topic.

Click to collapse



To go along with the replies above. There are over 100 "titled" governors and each has a specific type of "tune" to it. Some use stock settings except for a few, some use a lot more adjustments. Governors are more like profiles if you will. We all have the variables but each governor somewhat changes those to their liking. To kinda explain more. I have my phone stock right now and I make some changes to the governor settings, whatever reasoning, etc. I do some testing and make some new changes. I than see my profile is different than anyone elses. I technically created my own governor. To tweak a certain gov. you need to just read what the purpose description is and than see what each tunable does. Aside from what we already have listed everything else is just preference, type of use. I always tweak my own settings after the fact. How each governor is tuned and that persons needs are all different from one another. All the info you need is in this thread. Everything else is up to you.


----------



## smartymcfly (Jul 12, 2016)

gsstudios said:
			
		

> not sure how to include you in a post so I am not actually quoting you...just have a wuestion

Click to collapse



In AK-EAS kernel for Angler nexus6p  EAS is energy aware scheduling,  it has the "sched" governor.  It is not in the standard aK kernel so I believe it is just for Kernels with EAS .

The only tunable setting is "throttle_ns".

https://www.linaro.org/blog/core-dump/energy-aware-scheduling-eas-project/

If you find any information, please add it to OP. thank you

Sent from my angler using XDA Labs


----------



## Saber (Jul 13, 2016)

*OP updated*

Here is today's change:

```
13/07/16:
- Added sched-DVFS governor description
```

gsstudios


----------



## OffDatGoGo (Jul 13, 2016)

gsstudios said:


> *OP updated*
> 
> Here is today's change:
> 
> ...

Click to collapse



This thread is bananas! Thank you so much for all your time, energy & knowledge put into this.

Sent from my LG-H901 using Tapatalk


----------



## Saber (Jul 14, 2016)

*OP Updated*

Here are today's changes:

```
14/07/16:
- Added Intel, Frankenstein and Cyan governor descriptions
```

On first inspection, it looks like there are more governors out there specifically for Intel SOCs. 

gsstudios

Edit: I have also added TheSSJactive description.


----------



## krasCGQ (Jul 14, 2016)

gsstudios said:


> OP Updated
> 
> Here are today's changes:
> 
> ...

Click to collapse



Hmm...
Cyan governor is actually made for exynos5410 and it was introduced first in a TW kernel for i9500 before the kernel thread being closed down due to GPL violation.
I tried to include it on my i9500 kernel but it impacted the boot time (needed more than a minute after splash screen to reach the boot animation).

While TheSSJactive has a bug where it couldn't be set on boot as it would cause system freezes.

Sent from my ASUS_Z00A using XDA Labs


----------



## ephexxis (Jul 14, 2016)

krasCGQ said:


> Hmm...
> Cyan governor is actually made for exynos5410 and it was introduced first in a TW kernel for i9500 before the kernel thread being closed down due to GPL violation.
> I tried to include it on my i9500 kernel but it impacted the boot time (needed more than a minute after splash screen to reach the boot animation).
> 
> While TheSSJactive has a bug where it couldn't be set on boot as it would cause system freezes.

Click to collapse



neither of those bugs exist now. 
source: z00a running OCTDex kernel and previously VenoM. 

also can confirm Intel is The dankness with powerclamp drivers and especially with our s-tier intel voltage control.  i have a few profiles with tuned Intel but i also use cyan, bluactive, THESSJACTIVE, and lionheart tuned all with great results 

Sent from my ASUS_Z00A using XDA Labs


----------



## krasCGQ (Jul 14, 2016)

ephexxis said:


> neither of those bugs exist now.
> source: z00a running OCTDex kernel and previously VenoM.
> 
> also can confirm Intel is The dankness with powerclamp drivers and especially with our s-tier intel voltage control. i have a few profiles with tuned Intel but i also use cyan, bluactive, THESSJACTIVE, and lionheart tuned all with great results

Click to collapse



Glad to hear that. Because I couldn't and lazy to test nearly all CPU governors included in the kernel lol

Sent from my ASUS_Z00A using XDA Labs


----------



## MRDICKHEAD (Jul 19, 2016)

Best and most helpful thread


----------



## tet-bundy (Jul 21, 2016)

hi,

wondering, if u could add some information about various cpuquiet governors. trying hard to find any detailed information. 
in particular i cant find any description of "load_stats" tunables. if u could point me into some direction, that would be fine too 

regards


----------



## rickysidhu_ (Jul 22, 2016)

Hello everyone!

I'm fairly new to Android so I apologize if this has already been asked on this thread.

I was just wondering if it's safe to use more than 1 kernel tweaking app at the same time? And if not, then is the best kernel tweaking app the one that is designed for the kernel? (i.e. ElementalX with EX Kernel Manager).

Thanks in advance!


----------



## neonkat (Jul 22, 2016)

rickysidhu_ said:


> Hello everyone!
> 
> I'm fairly new to Android so I apologize if this has already been asked on this thread.
> 
> ...

Click to collapse



depends upon you.

there are a lot of apps in market,choose the one which you like,all will have same effect.

some have more detailed tweaking option while some have basic ones.


----------



## rickysidhu_ (Jul 22, 2016)

neonkat said:


> depends upon you.
> 
> there are a lot of apps in market,choose the one which you like,all will have same effect.
> 
> some have more detailed tweaking option while some have basic ones.

Click to collapse



Thanks for your reply! So it's better to just use one app and the app doesn't need to be specific to whatever kernel I have?


----------



## mattzeller (Jul 22, 2016)

rickysidhu_ said:


> Thanks for your reply! So it's better to just use one app and the app doesn't need to be specific to whatever kernel I have?

Click to collapse



Correct, I suggest Kernel Adiutor:
 https://play.google.com/store/apps/details?id=com.grarak.kerneladiutor 
It is a really good all-round kernel tweaker


----------



## rickysidhu_ (Jul 22, 2016)

mattzeller said:


> Correct, I suggest Kernel Adiutor:
> https://play.google.com/store/apps/details?id=com.grarak.kerneladiutor
> It is a really good all-round kernel tweaker

Click to collapse



Awesome, thanks again for your help! I'll uninstall FKUpdater and try the app you suggested


----------



## smartymcfly (Jul 24, 2016)

mattzeller said:


> Correct, I suggest Kernel Adiutor:
> https://play.google.com/store/apps/details?id=com.grarak.kerneladiutor
> It is a really good all-round kernel tweaker

Click to collapse






rickysidhu_ said:


> Awesome, thanks again for your help! I'll uninstall FKUpdater and try the app you suggested

Click to collapse





Here is a modded version 

http://forum.xda-developers.com/android/apps-games/kernel-adiutor-mod-singularity-kernel-t3333549

Sent from my angler using XDA Labs


----------



## yarpiin (Jul 25, 2016)

@gsstudios any chances to dig out something detailed about Hima Hotplug ? It came from HTC m9 but dont have much details i have included it in my kernel does the job well but i dont even know who to credit for it 

Sent from my OnePlus2 using XDA Labs


----------



## Mrcactuseater (Jul 26, 2016)

@gsstudios i have yet another governor for you to search upon when you get a minute. I believe its called chill and it's in frap129's kernel and unofficial AK.

Tapatalk'd from my Twisted, Despaired Nexus 5x


----------



## Saber (Jul 27, 2016)

Mrcactuseater said:


> @gsstudios i have yet another governor for you to search upon when you get a minute. I believe its called chill and it's in frap129's kernel and unofficial AK.
> 
> Tapatalk'd from my Twisted, Despaired Nexus 5x

Click to collapse


*Done

Please check OP for new added description 

gsstudios*


----------



## Saber (Jul 27, 2016)

yarpiin said:


> @gsstudios any chances to dig out something detailed about Hima Hotplug ? It came from HTC m9 but dont have much details i have included it in my kernel does the job well but i dont even know who to credit for it
> 
> Sent from my OnePlus2 using XDA Labs

Click to collapse



*Done

It did take a while to find the original author but I believe I have the correct information. Please check the OP for details. 

gsstudios
*


----------



## yarpiin (Jul 27, 2016)

gsstudios said:


> Done
> 
> It did take a while to find the original author but I believe I have the correct information. Please check the OP for details.
> 
> gsstudios

Click to collapse



You are the best !!!!! 

Thank you !!!!

Sent from my OnePlus 2 using XDA Labs


----------



## rickysidhu_ (Jul 28, 2016)

Is there any way to change governors depending on battery life? For example, 100% - 50% is interactive, 49% - 15% is conservative, and 14% - 0% is powersave

Is something like this possible?


----------



## Mrcactuseater (Jul 28, 2016)

rickysidhu_ said:


> Is there any way to change governors depending on battery life? For example, 100% - 50% is interactive, 49% - 15% is conservative, and 14% - 0% is powersave
> 
> Is something like this possible?

Click to collapse



Tasker could do it.

Tapatalk'd from my Twisted, Despaired Nexus 5x


----------



## rickysidhu_ (Jul 28, 2016)

Mrcactuseater said:


> Tasker could do it.
> 
> Tapatalk'd from my Twisted, Despaired Nexus 5x

Click to collapse



Thanks, I'll give that app a shot!


----------



## yarpiin (Jul 29, 2016)

rickysidhu_ said:


> Hello everyone!
> 
> I'm fairly new to Android so I apologize if this has already been asked on this thread.
> 
> ...

Click to collapse



You shouldnt and its not advised to use 2 apks at the same time ,it might cause your system unstable and with unexpected behavior.

Look on xda for kernel control apk try and use one that suits you the best

Sent from my OnePlus2 using XDA Labs

---------- Post added at 10:57 AM ---------- Previous post was at 10:55 AM ----------




yarpiin said:


> You shouldnt and its not advised to use 2 apks at the same time ,it might cause your system unstable and with unexpected behavior.
> 
> Look on xda for kernel control apk try and use one that suits you the best
> Modded Kernel auditor by Yonix its simply tu use and powerfull

Click to collapse




Sent from my OnePlus2 using XDA Labs


----------



## Saber (Jul 30, 2016)

Hi guys, 

I noticed it has been a while since I updated the list of recommended apps to use for tuning kernel parameters. 

So I came up with this question for you guys to answer: 

*What kernel tuning apps do you recommend?*

What I mean by tuning apps include apps like kernel adiutor, and not kernel mods that have predefined kernel values for people to use. 

I will update the list if required once we have some clear results. 


gsstudios


----------



## yarpiin (Jul 30, 2016)

gsstudios said:


> Hi guys,
> 
> I noticed it has been a while since I updated the list of recommended apps to use for tuning kernel parameters.
> 
> ...

Click to collapse



Kernel Auditor by @Grarak/ Modded Kernel Auditor by @Yonix , UKM/Synapse  

Sent from my OnePlus2 using XDA Labs


----------



## tet-bundy (Jul 30, 2016)

gsstudios said:


> Hi guys,
> 
> I noticed it has been a while since I updated the list of recommended apps to use for tuning kernel parameters.
> 
> ...

Click to collapse



currently on gzr kernel auditor. only can not control cpuquiet governor tuneables..

Gesendet von meinem ONE E1003


----------



## Mrcactuseater (Jul 30, 2016)

gsstudios said:


> Hi guys,
> 
> I noticed it has been a while since I updated the list of recommended apps to use for tuning kernel parameters.
> 
> ...

Click to collapse



Ex kernel manager is my favourite.

Tapatalk'd from my Twisted, Yank'd Nexus 5


----------



## christianpeso (Jul 30, 2016)

gsstudios said:


> Hi guys,
> 
> I noticed it has been a while since I updated the list of recommended apps to use for tuning kernel parameters.
> 
> ...

Click to collapse



Kernel Auditor Mod is a little better than the regular Kernel Auditor. It exposes more of the custom kernel features.


----------



## PiggyFlooper (Jul 30, 2016)

christianpeso said:


> Kernel Auditor Mod is a little better than the regular Kernel Auditor. It exposes more of the custom kernel features.

Click to collapse



I tried a search for this n came up with nothing, also tried pressing on @Yonix and my xparent tapatalk wouldn't go to his profile, will you please link me to the thread?


----------



## 'Akira (Jul 30, 2016)

PiggyFlooper said:


> I tried a search for this n came up with nothing, also tried pressing on @Yonix and my xparent tapatalk wouldn't go to his profile, will you please link me to the thread?

Click to collapse



http://forum.xda-developers.com/android/apps-games/kernel-adiutor-mod-singularity-kernel-t3333549


----------



## gogvogo (Jul 30, 2016)

Gov tuner project, works great, its  tweaks your governor turntables. 

Sent from my SM-G900W8 using XDA-Developers mobile app


----------



## smartymcfly (Jul 31, 2016)

gogvogo said:


> Gov tuner project, works great, its tweaks your governor turntables.

Click to collapse



This has predefined values and is for governor tunables, you can set these for the most part yourself in most kernel tuner apps.  I was looking at that and was wondering how is that he has one mod that sets those variables, each model phone does not come with the same chip and frequencies....

Sent from my angler using XDA Labs


----------



## gogvogo (Aug 1, 2016)

@Debuffer seems to have it down to a science that seems to be his expertise. personally I wouldn't know where to start. Give it a try, I was surprised how well it works. 

Sent from my SM-G900W8 using XDA-Developers mobile app


----------



## Debuffer (Aug 1, 2016)

smartymcfly said:


> This has predefined values and is for governor tunables, you can set these for the most part yourself in most kernel tuner apps.  I was looking at that and was wondering how is that he has one mod that sets those variables, each model phone does not come with the same chip and frequencies....
> 
> Sent from my angler using XDA Labs

Click to collapse



Hey, mate. 
First of all I'm happy that the my mod has been quoted in such a famous thread.

Well, I can explain you how does Govtuner.
Each phone model has different chips and frequencies, but if you use for example 600.000 frequency to tune, the governor will use the next step above this. Basically, if your kernel has 300, 500, 700, 900, 1500 frequencies only and you use 1000 frequency, it'll use the 1500 one.


----------



## smartymcfly (Aug 1, 2016)

Debuffer said:


> Hey, mate.
> First of all I'm happy that the my mod has been quoted in such a famous thread.
> 
> Well, I can explain you how does Govtuner.
> Each phone model has different chips and frequencies, but if you use for example 600.000 frequency to tune, the governor will use the next step above this. Basically, if your kernel has 300, 500, 700, 900, 1500 frequencies only and you use 1000 frequency, it'll use the 1500 one.

Click to collapse



If this somehow was dynamic and set the frequencies based on percentages of the min max frequency, and number the steps in a fraction form so it will go to the closest available frequency to of the fraction that correlates to the base setup. based on how many are available and use the steps number instead of the step's frequency then it would perform equally across devices.  At first reading through the post I though it said it doesn't mess with frequencies but it does right?  If phone A has 20 steps available and phone b has 15 steps available, the phone a on step 7 would find 7/20=x/15 and find x.


Maybe it doesn't matter, but it does change frequencies used, maybe not the min and the max, but the steps it uses....  The OP could edited to show this.... Because if it jumps to 1500mhz or max 100% CPU usage for one phone and it was designed to go to 1000 or 66.7% CPU on another phone, the experience will be much different between the two phones....  I am not very proficient in coding and scripts but it seems like this is something that would take a bit more work to setup, but can be done. Right or wrong?

Sent from my angler using XDA Labs


----------



## Debuffer (Aug 1, 2016)

smartymcfly said:


> If this somehow was dynamic and set the frequencies based on percentages of the min max frequency, and number the steps in a fraction form so it will go to the closest available frequency to of the fraction that correlates to the base setup. based on how many are available and use the steps number instead of the step's frequency then it would perform equally across devices. At first reading through the post I though it said it doesn't mess with frequencies but it does right? If phone A has 20 steps available and phone b has 15 steps available, the phone a on step 7 would find 7/20=x/15 and find x.
> 
> 
> Maybe it doesn't matter, but it does change frequencies used, maybe not the min and the max, but the steps it uses.... The OP could edited to show this.... Because if it jumps to 1500mhz or max 100% CPU usage for one phone and it was designed to go to 1000 or 66.7% CPU on another phone, the experience will be much different between the two phones.... I am not very proficient in coding and scripts but it seems like this is something that would take a bit more work to setup, but can be done. Right or wrong?

Click to collapse



Well, this "based on device frequencies" idea already was project by us but it will just not change anything. 
We need it to be the simplest possible, and this way works perfect for what we are looking for. 
And it doesn't mess with the frequencies but only with the ways it scales.


----------



## Ckovvi (Aug 1, 2016)

+1 for Kernel Adiutor


----------



## Wolfcity (Aug 2, 2016)

Ckovvi said:


> +1 for Kernel Adiutor

Click to collapse



Until today's update.....

Sent from my Moto G 2014 using XDA-Developers mobile app


----------



## DB126 (Aug 2, 2016)

Wolfcity said:


> Until today's update.....

Click to collapse



Yikes! Revamped UI will take some getting use to. FCs on my device when accessing CPU section. Not so concerned about that; bugs happen. More bothered by UI (why the changes?) and various take aways noted in change log. Might be time to move on.

Edit: Found more stuff that doesn't work. New version ignores previous settings, phone went back to stock everything after reboot. Ugh! Uninstalled; using @Yonix's variant for now.


----------



## LuckySwitz (Aug 6, 2016)

androidexpert35 said:


> Guys in your opinion, what's the best hotplug for an arm big.LITTLE device ( Snapdragon 810)? Actually I tried cpuquiet but it's too slow and not so much battery friendly, till now seeks that bricked hotplug is great! Any suggestions about others? Thanks!

Click to collapse



Can't suggest because that dragon breathes fire.. 

Sent from my Samsung Galaxy S5 using XDA Labs


----------



## dsjiffry (Aug 8, 2016)

@gsstudios

Is there any way to set the freq. Which the processor jumps to when the screen is touched????? (Aka. Touch Boost) 

Which parameters in the interactive governor decide this?????

I think going all the way to 2.x GHz is way overkill.......... :silly:


----------



## Saber (Aug 8, 2016)

dsjiffry said:


> @gsstudios
> 
> Is there any way to set the freq. Which the processor jumps to when the screen is touched????? (Aka. Touch Boost)
> 
> ...

Click to collapse



If the touchboost frequency tunable is not present in kernel tuning apps, only your kernel dev will be able to modify settings with touchboost (you may need to double check because I won't know for sure). Otherwise, I can't find any other info. Generally, it can only be enabled or disabled by users. 

gsstudios


----------



## yarpiin (Aug 8, 2016)

gsstudios said:


> If the touchboost frequency tunable is not present in kernel tuning apps, only your kernel dev will be able to modify settings with touchboost (you may need to double check because I won't know for sure). Otherwise, I can't find any other info. Generally, it can only be enabled or disabled by users.
> 
> gsstudios

Click to collapse



Some of govs have feature called poke _boost_freq for example smartmax it raises frequency when touch is detected but is it working same as touchboost not sure , easiest thing to do is to check if this path exist in your system /sys/module/cpu_boost/parameters/cpu_boost .

Sent from my OnePlus2 using XDA Labs


----------



## Saber (Aug 14, 2016)

*The OP has been updated*

Here are today's changes:

```
14/08/16:
- Added State Helper hotplug information
```

gsstudios


----------



## EliDevp (Aug 15, 2016)

Hello Thanks for the guide.
I've currently installed Set Cpu on my Tab s lte 8.4 amd would like to know the best settings I can set it to for best battery life.
Underclocking,governor,etc. Gladly appreciate your help and contributions.


----------



## GiovanniArpino (Aug 18, 2016)

EliDevp said:


> Hello Thanks for the guide.
> I've currently installed Set Cpu on my Tab s lte 8.4 amd would like to know the best settings I can set it to for best battery life.
> Underclocking,governor,etc. Gladly appreciate your help and contributions.

Click to collapse



Underclocking gives you a 5/10% more battery life,undervolting also.Forma The governor I suggest impulse or  conservative,that gives a decent battery life.Scheduler I suggest noop andò hotplug,if you have,msm_hotplug


----------



## EliDevp (Aug 18, 2016)

GiovanniArpino said:


> Underclocking gives you a 5/10% more battery life,undervolting also.Forma The governor I suggest impulse or  conservative,that gives a decent battery life.Scheduler I suggest noop andò hotplug,if you have,msm_hotplug

Click to collapse



Thanks alot. I've noticed VERY considerable battery extension after underclocking. I kept underclocking from 1800 to 1500 and eventually 1300 with everything working fine, (a lil lags when playing clash of clans sometimes). I mustsay in addition to Greenify and LUX (for controlling screen brightness). By default I've been using Interactive(governor) , I'll try out your suggestions too.
I don't yet know about or how to undervolt. Any guide on that would be appreciated


----------



## Saber (Aug 19, 2016)

*OP has been updated*

Here are today's changes:

```
19/08/16:
- Added general comments on each scheduler
- Small cleanup to scheduler descriptions
```

More improvements to come soon (e.g. Better descriptions for GPU governors and add more of them!  ). However I am quite consumed with my studies. 

gsstudios


----------



## j1gga84 (Aug 19, 2016)

Good luck with your studies furthermore :good:
By the way, if you have time, you could start a new poll which governor is used the most nowadays because the poll here is quite very old 

just an idea, would be very interesting 

regards


----------



## Saber (Aug 19, 2016)

j1gga84 said:


> Good luck with your studies furthermore :good:
> By the way, if you have time, you could start a new poll which governor is used the most nowadays because the poll here is quite very old
> 
> just an idea, would be very interesting
> ...

Click to collapse



Sure  I'll request a mod to remove the poll so I can make a new one. 

Here is the current list I have prepared. Let me know if there should be any other popular governors that should be included:

```
What CPU governor do you use? 
- Ondemand/OndemandX
- Interactive/InteractiveX 
- ZZMoove
- Conservative/Ktoonservative 
- HYPER
- Powersave 
- Performance 
- PegasusQ 
- Impulse 
- Smartmax 
- Smartassv2
- Intelliactive/Intellidemand 
- ElementalX 
- Alucard 
- Yankactive/YanksusQ/Yankdemand
- Darkness/Nightmare 
- Blu_active 
- Other
```

gsstudios


----------



## yarpiin (Aug 19, 2016)

gsstudios said:


> Sure  I'll request a mod to remove the poll so I can make a new one.
> 
> Here is the current list I have prepared. Let me know if there should be any other popular governors that should be included:
> 
> ...

Click to collapse



Would add inelliactive and and add lightning to darkness/nightmare as it is still popular with lightning kernels and it is modded version of these two ????

Sent from my OnePlus2 using XDA Labs


----------



## Saber (Aug 19, 2016)

*The poll has been updated*

There is now a better range of options to choose from. All less voted governors have been removed from the poll. 

PS: Thanks for the 1500+ voters in the previous poll, now it's time to vote again 

Happy voting, gsstudios


----------



## Wolfcity (Aug 20, 2016)

gsstudios said:


> *The poll has been updated*
> 
> There is now a better range of options to choose from. All less voted governors have been removed from the poll.
> 
> ...

Click to collapse



Bioshock is missing? [emoji15] 

Sent from my Moto G 2014 using XDA-Developers mobile app


----------



## Saber (Aug 20, 2016)

Wolfcity said:


> Bioshock is missing? [emoji15]
> 
> Sent from my Moto G 2014 using XDA-Developers mobile app

Click to collapse



Maybe next time 

gsstudios


----------



## Saber (Aug 20, 2016)

*The OP has been updated*

Here are today's changes:

```
20/08/16:
- Added Maple I/O scheduler description
- Minor modifications to I/O scheduler summaries
```

Happy reading, gsstudios


----------



## EternalFlame (Aug 20, 2016)

You are epic bruh \o/


----------



## Alphados0 (Aug 30, 2016)

Have any an idea what is the best balance for xperia z1 compact? 

Android 5.1.1
Dstrikersz1 Rom sp004
Advanced kernel v18.1 

I'm a newbie for this settings  

Sent from my D5503 using XDA-Developers mobile app


----------



## Qiangong2 (Aug 31, 2016)

@gsstudios I have a new governor found in a stock kernel  It comes in the BLU Dash JR 3G D190U and it is called sprdemand. In menuconfig it has the same description as the ondemand governor. I got the kernel from the BLU FTP.

Here it is: https://github.com/Qiangong2/android_kernel_scx15_sp7715ga_FS001


----------



## Saber (Sep 2, 2016)

Qiangong2 said:


> @gsstudios I have a new governor found in a stock kernel  It comes in the BLU Dash JR 3G D190U and it is called sprdemand. In menuconfig it has the same description as the ondemand governor. I got the kernel from the BLU FTP.
> 
> Here it is: https://github.com/Qiangong2/android_kernel_scx15_sp7715ga_FS001

Click to collapse



*Done.* 

Check the OP for details. 

gsstudios


----------



## Qiangong2 (Sep 2, 2016)

gsstudios said:


> *Done.*
> 
> Check the OP for details.
> 
> gsstudios

Click to collapse



I've found that it doesn't seem to be based on the OnDemand governor as it sounds like. The current phone it is used in (BLU Dash JR 3G D190U) only has 256mb of RAM.

Could it be for more heavily optimization of RAM and the OS? Needs more research. It runs smoother than quite a few 512mb RAM mediatek phones...

Sent from my Q5 using XDA Free mobile app


----------



## Saber (Sep 2, 2016)

Qiangong2 said:


> I've found that it doesn't seem to be based on the OnDemand governor as it sounds like. The current phone it is used in (BLU Dash JR 3G D190U) only has 256mb of RAM.
> 
> Could it be for more heavily optimization of RAM and the OS? Needs more research. It runs smoother than quite a few 512mb RAM mediatek phones...

Click to collapse



I took the description straight from the kernel source description (kconfig file).

Let me know if you find anything interesting about the governor 

gsstudios


----------



## Deleted member 2357893 (Sep 7, 2016)

Need to update this tread with ZEN V2


----------



## Saber (Sep 8, 2016)

scafroglia93 said:


> Need to update this tread with ZEN V2

Click to collapse



Can you provide me a link of the kernel thread that has ZEN v2? 

Cheers, gsstudios


----------



## Deleted member 2357893 (Sep 8, 2016)

gsstudios said:


> Can you provide me a link of the kernel thread that has ZEN v2?
> 
> Cheers, gsstudios

Click to collapse



There's any kind of thread. ZenV2 is just and upgrade. You can see this update on github


----------



## Saber (Sep 9, 2016)

scafroglia93 said:


> There's any kind of thread. ZenV2 is just and upgrade. You can see this update on github

Click to collapse



Once again, I could not find any information regarding Zenv2. Please provide a specific link to where you found this information and I'll add it to the guide. 

gsstudios


----------



## Deleted member 2357893 (Sep 9, 2016)

gsstudios said:


> Once again, I could not find any information regarding Zenv2. Please provide a specific link to where you found this information and I'll add it to the guide.
> 
> gsstudios

Click to collapse


https://github.com/CasualsKernel/android_kernel_nextbit_msm8992/commits/test/block/zen-iosched.c


----------



## Saber (Sep 10, 2016)

*OP has been updated*

Here is the list of today's changes:

```
10/09/16:
- Minor fixes to ZEN I/O scheduler description
- Added ZEN v2 I/O scheduler description
- Minor update to recommended I/O scheduler list
- Added very detailed description of Maple I/O scheduler thanks to @frap129
- Remove Anticipatory I/O scheduler description
- Updated credits list. Added new credits where applicable.
```

Happy reading, gsstudios


----------



## Saber (Sep 11, 2016)

*OP has been updated*

Here are today's changes:

```
11/09/16:
- Added more detailed and accurate descriptions of existing GPU governors. More GPU governor descriptions will be added later.
```

So yes, I plan on adding more GPU governor descriptions and will make it more readable and easier to find  This is all I have time for now. 

gsstudios


----------



## Wolfcity (Sep 12, 2016)

androidexpert35 said:


> Guys, bioshock is the mix of 2 conservative based governors, so is it a battery oriented governor? Or Barry_Allen is more battery friendly?

Click to collapse



Bioshock is a balanced governor which is batteryfriendly too. It's my favorite governor. In have no experience with Barry_Allen.

Sent from my Moto G 2014 using XDA-Developers mobile app


----------



## Vink67 (Sep 15, 2016)

When you take 80% of work that some one else do the minimum is to say this is not your work and thanks the people who did it and say he's name and a link of he's work.... 

Sent with my MotoG3 from another galaxy !


----------



## Wolfcity (Sep 15, 2016)

Vink67 said:


> When you take 80% of work that some one else do the minimum is to say this is not your work and thanks the people who did it and say he's name and a link of he's work....
> 
> Sent with my MotoG3 from another galaxy !

Click to collapse



To whom you're talking?

Sent from my Moto G 2014 using XDA-Developers mobile app


----------



## EternalFlame (Sep 15, 2016)

Vink67 said:


> When you take 80% of work that some one else do the minimum is to say this is not your work and thanks the people who did it and say he's name and a link of he's work....
> 
> Sent with my MotoG3 from another galaxy !

Click to collapse



Äääää.... what?


----------



## Vink67 (Sep 16, 2016)

gr3ud said:


> Äääää.... what?

Click to collapse



No flame, just reality. I read for months (years) the same post at 80% on web site. If it's you who do that also, so my apologies. But I read for long time same thing, word, graph.... 
Copy and paste must credit the author. That's what I do for some tuto. 


Sent with my MotoG3 from another galaxy !


----------



## Saber (Sep 16, 2016)

Vink67 said:


> No flame, just reality. I read for months (years) the same post at 80% on web site. If it's you who do that also, so my apologies. But I read for long time same thing, word, graph....
> Copy and paste must credit the author. That's what I do for some tuto.
> 
> 
> Sent with my MotoG3 from another galaxy !

Click to collapse



I have included credits to the original authors of the graphs and info (I assumed you missed it because of this massive thread, the list is a little below the changelogs). In no way I have named their work as mine. Most of the descriptions were actually taken from either source code or a description given by a XDA user (countless which I can't list them all). The creators of the graphs have been explicitly mentioned. I believe everything (if not most) of the information have been given appropriate credits.

If it's still unclear, just leave a PM.

gsstudios


----------



## Vink67 (Sep 16, 2016)

gsstudios said:


> I have included credits to the original authors of the graphs and info (I assumed you missed it because of this massive thread, the list is a little below the changelogs). In no way I have named their work as mine. Most of the descriptions were actually taken from either source code or a description given by a XDA user (countless which I can't list them all). The creators of the graphs have been explicitly mentioned. I believe everything (if not most) of the information have been given appropriate credits.
> 
> If it's still unclear, just leave a PM.
> 
> gsstudios

Click to collapse



So you have my apologies. I have miss it under the flow... 

Sent with my MotoG3 from another galaxy !


----------



## khangcobra (Sep 17, 2016)

Which governor should i use for balance battery life and perfomance between alucard darkness impluse ?


----------



## Saber (Sep 17, 2016)

khangcobra said:


> Which governor should i use for balance battery life and perfomance between alucard darkness impluse ?

Click to collapse



Impulse should be the best gov out of the three. All are good choices, alucard should be the most battery friendly. Darkness scales between frequencies quickly so it could give a little extra performance. Impulse has the best balance. 

gsstudios


----------



## Saber (Sep 17, 2016)

Hey guys, 

I have come to a point where I need some suggestions on what GPU governors should I make descriptions for. I know there are many GPU governors out there but I aim to give descriptions to the most popular governors first that may not be included in this guide yet.

gsstudios


----------



## khangcobra (Sep 17, 2016)

gsstudios said:


> Impulse should be the best gov out of the three. All are good choices, alucard should be the most battery friendly. Darkness scales between frequencies quickly so it could give a little extra performance. Impulse has the best balance.
> 
> gsstudios

Click to collapse



many thanks to you !!!


----------



## khangcobra (Sep 17, 2016)

gsstudios said:


> Hey guys,
> 
> I have come to a point where I need some suggestions on what GPU governors should I make descriptions for. I know there are many GPU governors out there but I aim to give descriptions to the most popular governors first that may not be included in this guide yet.
> 
> gsstudios

Click to collapse



oh i have forgot ~ can u suggest me some cpu's settings include I/O to have the best performance in gaming ?


----------



## Saber (Sep 18, 2016)

khangcobra said:


> oh i have forgot ~ can u suggest me some cpu's settings include I/O to have the best performance in gaming ?

Click to collapse



You can look at the advanced interactive tuning guide thread. 

As for I/O, use ZEN or Deadline for gaming.


----------



## MotoE2014 (Sep 20, 2016)

Link download kernel?


----------



## Haldi4803 (Sep 20, 2016)

Do you know which governors are ready/optimized for SD820 HMP Big.Little Quadcore design? AFAIK nowadays mostly Interactive Profiles are used...?


----------



## Saber (Sep 22, 2016)

Haldi4803 said:


> Do you know which governors are ready/optimized for SD820 HMP Big.Little Quadcore design? AFAIK nowadays mostly Interactive Profiles are used...?

Click to collapse



Generally interactive is best suited for newer devices as it is google's governor of choice. I don't know too much on which governors that have been optimized for the SD820, so it would be best to keep with what the kernel developer or what the phone manufacturer thinks what is best (for now). 

gsstudios


----------



## Saber (Sep 22, 2016)

MotoE2014 said:


> Link download kernel?

Click to collapse



This is a kernel settings thread, not a kernel thread. Hence, there is no way download a kernel. 

gsstudios


----------



## tet-bundy (Sep 22, 2016)

To what extent does the size of an external micro SD influence io scheduler choice?
Precisely have a sandisk 128GB class 10 card mostly media as music, photo, few video, backups so fluently browsing with music player, gallery would be major requirement
Thanks


----------



## Saber (Sep 23, 2016)

tet-bundy said:


> To what extent does the size of an external micro SD influence io scheduler choice?
> Precisely have a sandisk 128GB class 10 card mostly media as music, photo, few video, backups so fluently browsing with music player, gallery would be major requirement
> Thanks

Click to collapse



SD card sizes don't play a role in IO scheduler choice. 

It would be best to choose a simpler scheduler like deadline/noop/ZEN for best performance and latency. CFQ and BFQ may get higher throughput, but they aren't really suited for slower flash devices like SD cards. 

If you do a lot of video recording (e.g. FHD/UHD) to SD card, having a simpler scheduler is highly recommended. 

gsstudios


----------



## tet-bundy (Sep 23, 2016)

gsstudios said:


> IO scheduler sizes don't play a role in IO scheduler choice.
> 
> It would be best to choose a simpler scheduler like deadline/noop/ZEN for best performance and latency. CFQ and BFQ may get higher throughput, but they aren't really suited for slower flash devices like SD cards.
> 
> ...

Click to collapse



Thanks for reply!


----------



## Robot76 (Sep 23, 2016)

Hi, erm, any suggestions for downloading torrents, I/o scheduler?
[emoji7] 

fiops? cfq? zen? So many to choose from...
I'm such a noob...
Forgive my ignorance...

Also l, any recommendations?

This thread is awesome!
[emoji7] 

A.R.I.S.E. Z3C SLiMM EliteKernel Phh.Superuser Rr.Xposed Substratum Systemless


----------



## Saber (Sep 23, 2016)

Robot76 said:


> Hi, erm, any suggestions for downloading torrents, I/o scheduler?
> [emoji7]
> 
> fiops? cfq? zen? So many to choose from...
> ...

Click to collapse



Hi,

Similar to the recording scenario, you may benefit more using a simpler scheduler like Deadline/ZEN/noop. Reasons are because of latency and overall performance (not just throughput).

gsstudios


----------



## zeeBomb (Sep 26, 2016)

gsstudios said:


> SD card sizes don't play a role in IO scheduler choice.
> 
> It would be best to choose a simpler scheduler like deadline/noop/ZEN for best performance and latency. CFQ and BFQ may get higher throughput, but they aren't really suited for slower flash devices like SD cards.
> 
> ...

Click to collapse



What about for onboard storage? Idol 3. Fiops 2048 the way to go?


----------



## Saber (Sep 26, 2016)

zeeBomb said:


> What about for onboard storage? Idol 3. Fiops 2048 the way to go?

Click to collapse



Onboard storage is faster than SD card, so anything will do fine. Fiops 2048 is fine.

gsstudios


----------



## zeeBomb (Sep 26, 2016)

gsstudios said:


> Onboard storage is faster than SD card, so anything will do fine. Fiops 2048 is fine.
> 
> gsstudios

Click to collapse



Oh ye true. Any other suggestions tho? What would be your ideal CPU governor?


----------



## Saber (Sep 26, 2016)

zeeBomb said:


> Oh ye true. Any other suggestions tho? What would be your ideal CPU governor?

Click to collapse



CPU governor: Interactive 
I/O scheduler: ZEN or Deadline 
I/O Read-ahead cache - 1024kB based on your internal storage size 

gsstudios


----------



## Razcaz (Sep 26, 2016)

I have a nexus 5x, jolla kernel, elementalx govenor with ghost pepper.

My actual I/O scheduler is bfc with 1024 kb readahead.

Is this optimal for performance and battery life or could you recommend something different?


----------



## Saber (Sep 26, 2016)

Razcaz said:


> I have a nexus 5x, jolla kernel, elementalx govenor with ghost pepper.
> 
> My actual I/O scheduler is bfc with 1024 kb readahead.
> 
> Is this optimal for performance and battery life or could you recommend something different?

Click to collapse



Governor choice is already optimal. 


Change I/O scheduler to ZEN/Deadline/Noop. 

I/O read ahead cache to 2048kB if you have 32GB model, leave it if you have 16GB model. 

You may have to play around a bit but these should work fine.

gsstudios


----------



## Razcaz (Sep 26, 2016)

Ahh okay, the I/O depends of the storage size?

Maybe you could add an overview for the device size, how much kb readahead is optimal 

Thank you for your recommendation.


----------



## marcdw (Sep 26, 2016)

Razcaz said:


> Ahh okay, the I/O depends of the storage size?
> 
> Maybe you could add an overview for the device size, how much kb readahead is optimal
> 
> Thank you for your recommendation.

Click to collapse



Check post #3. Storage size and read-ahead values is there.  Has been for some time. 

LG G3 D851, Mahdi KitKat ROM, microG Project (NoGapps), Tapatalk 4.9.5


----------



## Saber (Sep 26, 2016)

Razcaz said:


> Ahh okay, the I/O depends of the storage size?
> 
> Maybe you could add an overview for the device size, how much kb readahead is optimal
> 
> Thank you for your recommendation.

Click to collapse



Yes, only the I/O read ahead cache. 

Schedulers choice isn't dependent on size.

I will update the guide soon to make it more clear.

gsstudios


----------



## Saber (Sep 28, 2016)

*The OP has been updated*

As I have promised, I have updated the I/O read head value guide. I have made it more clear and made a few corrections to the terminology (e.g. 'buffer' instead of 'cache'). Recommended values were also changed around (see the guide for details).

Anyways, here is the changelog:

```
28/09/16:
- Updated guide on I/O read ahead buffer
```

Have a wonderful time reading, gsstudios


----------



## Normusmaxamus (Sep 28, 2016)

Thanks For This Thread. It Made For Some Interesting Reading and Has Given Me A Better Understanding Of Governors.


----------



## mrrocketdog (Sep 28, 2016)

@gsstudios , just got thru OP , finally. wow!! so much good info. thank you.
what'd that take , about 20 - 30 minutes to write up? JK. worded for noobs like me to understand just 'what the hell is going on' in "there".:high5:

"err on the side of kindness"


----------



## PiggyFlooper (Sep 28, 2016)

gsstudios said:


> Governor choice is already optimal.
> 
> 
> Change I/O scheduler to ZEN/Deadline/Noop.
> ...

Click to collapse



1792kb for 16GB

Sent from my LGLS740 using Xparent BlueTapatalk 2


----------



## Saber (Sep 29, 2016)

*I have updated the OP once again*

There was a small correction to the recommended read ahead value for 8GB internal/external storage (512KB from 256KB). 

gsstudios


----------



## Saber (Sep 29, 2016)

PiggyFlooper said:


> 1792kb for 16GB
> 
> Sent from my LGLS740 using Xparent BlueTapatalk 2

Click to collapse



I have never used that value in any of my kernels before. I have 16GB Galaxy S2 and 1024KB was generally recommended by other kernel devs (including myself).

Regardless, it is always good to play around with the values to see what is best 

gsstudios


----------



## aryaazimi72 (Sep 29, 2016)

You can use "3C Toolbox" app to test both you internal & external storage... and find out the best read ahead value for your devices.... its so easy to use because it changes your value itself and you dont need to go to yor kernel settings and change it everytime... it will do the job...
Hope it can be useful.....

Sent from my SM-G935F using XDA Labs

---------- Post added at 10:46 AM ---------- Previous post was at 10:21 AM ----------

@gsstudios
Can you please give us a guide on " Multi path TCP " ( MPTCP )  and the three tcp congestion algorithms that use this :  LIA , OLIA , WVEGAS   ?
It is used on some kernels... for example on voltaqe kernel on galaxy s7... but i really want to know more about it... and please make it a bit more simple so we can understand better....
+ is MPTCP for using wifi and 4g/3g... at same time? Or it will improve the speed...etc... when using 4g only?
Thanks a lot!!

Sent from my SM-G935F using XDA Labs


----------



## Saber (Sep 30, 2016)

aryaazimi72 said:


> You can use "3C Toolbox" app to test both you internal & external storage... and find out the best read ahead value for your devices.... its so easy to use because it changes your value itself and you dont need to go to yor kernel settings and change it everytime... it will do the job...
> Hope it can be useful.....
> 
> Sent from my SM-G935F using XDA Labs
> ...

Click to collapse



Thanks for the suggestions. 

I might have a look at the MPTCP algorithms later, all these new algorithms will require some time for me to read  

gsstudios


----------



## Revontheus (Sep 30, 2016)

First of all Arigatouu @gsstudios for the great Guide!

I was just wondering what cpu settings could you recommend for balanced use on Exynos Devices, specifically the S7 ( Exynos 8890 )
I'm currently running alucard as the cpu gov for both big and little cores but I'm just wondering if something like ondemandplus would be better

And how much read-ahead would be ideal or good for 32 GB of Internal Storage

Thanks!


----------



## Saber (Sep 30, 2016)

Revontheus said:


> First of all Arigatouu @gsstudios for the great Guide!
> 
> I was just wondering what cpu settings could you recommend for balanced use on Exynos Devices, specifically the S7 ( Exynos 8890 )
> I'm currently running alucard as the cpu gov for both big and little cores but I'm just wondering if something like ondemandplus would be better
> ...

Click to collapse



Hi,

For new devices, I usually recommend trying out interactive or any governor that the kernel developer has set as default. 

I don't have a device with big.LITTLE cpu cores (I'm on the s5) so this is only based purely on what i believe. 

As for read-ahead, use 2048KB. 

gsstudios


----------



## Revontheus (Oct 1, 2016)

Would ondemandplus be a better choice compared to alucard, when it comes to battery saving? @gsstudios

Thanksss


----------



## Saber (Oct 1, 2016)

Revontheus said:


> Would ondemandplus be a better choice compared to alucard, when it comes to battery saving? @gsstudios
> 
> Thanksss

Click to collapse



From my descriptions, ondemandplus will be slightly more snappy because it has some features from the interactive gov. 

Alucard will be more battery friendly because it is based only on ondemand.

gsstudios


----------



## zeeBomb (Oct 3, 2016)

gsstudios said:


> Hi,
> 
> For new devices, I usually recommend trying out interactive or any governor that the kernel developer has set as default.
> 
> ...

Click to collapse



Do you tinker with your I/O scheduler turntables, gss? If you do... What do you change?


----------



## Saber (Oct 3, 2016)

zeeBomb said:


> Do you tinker with your I/O scheduler turntables, gss? If you do... What do you change?

Click to collapse



I usually don't touch any settings except for these:

fifo batch: 16 (where possible, helps reduce load on eMMC memory chip)
no_merges: All (where possible, this is the default setting)
rq_affinity: 1 (where possible, I've seen some people using a value of 2 but it breaks some systems and performance difference is small)

gsstudios


----------



## zeeBomb (Oct 3, 2016)

gsstudios said:


> I usually don't touch any settings except for these:
> 
> fifo batch: 16 (where possible, helps reduce load on eMMC memory chip)
> no_merges: All (where possible, this is the default setting)
> ...

Click to collapse



This for all I/O's, yes? Awesome.


----------



## Saber (Oct 3, 2016)

zeeBomb said:


> This for all I/O's, yes? Awesome.

Click to collapse



Not all schedulers have these tunables.

Just whichever scheduler that have these tunables.

gsstudios


----------



## zeeBomb (Oct 3, 2016)

gsstudios said:


> Not all schedulers have these tunables.
> 
> Just whichever scheduler that have these tunables.
> 
> gsstudios

Click to collapse



Oh okay. Do you think ROW is deprecated for daily usage in modern smartphones? kinda like how smartassv2 is as a governor today?



PiggyFlooper said:


> 1792kb for 16GB
> 
> Sent from my LGLS740 using Xparent BlueTapatalk 2

Click to collapse



How is the performance holding up for you? Idk if its worth having all that extra cache...or I guess that logic applies to SD cards.


----------



## Saber (Oct 4, 2016)

zeeBomb said:


> Oh okay. Do you think ROW is deprecated for daily usage in modern smartphones? kinda like how smartassv2 is as a governor today?

Click to collapse



ROW is still a widely used scheduler and still does a good job of managing I/O requests. I would prefer using ZEN or Deadline as they have simpler algorithms.

Smartassv2 was a good governor but there are other more efficient governors out there.

gsstudios


----------



## Trey n (Oct 4, 2016)

Hi 
Does anyone know what the most battery saving governor is? Idc about the preference loss.
Thx guys 

Sent from my LG G3 D851.


----------



## DB126 (Oct 4, 2016)

gsstudios said:


> ROW is still a widely used scheduler and still does a good job of managing I/O requests. I would prefer using ZEN or Deadline as they have simpler algorithms.
> 
> Smartassv2 was a good governor but there are other more efficient governors out there.
> 
> gsstudios

Click to collapse



Although no expert in schedulers I have found deadline to be a reliable goto and my first choice if the device (kernel) supports it. Occasionally another scheduler is a better match...not often. One less thing to mess around with.


----------



## tet-bundy (Oct 4, 2016)

hi,
might be a bit off topic, so excuse my question:
can u recommend any scheduler for desktop environment? running a linux machine and my kernel provides cfq, noop, and deadline
thanks in advance 

Gesendet von meinem du_onyx mit Tapatalk


----------



## Saber (Oct 4, 2016)

tet-bundy said:


> hi,
> might be a bit off topic, so excuse my question:
> can u recommend any scheduler for desktop environment? running a linux machine and my kernel provides cfq, noop, and deadline
> thanks in advance
> ...

Click to collapse



Hi,

It all depends on what type of storage you run on your linux machine. 

If you run linux on a HDD, it's best to stick with CFQ. 

If you run linux on a SSD, it is best to go with Noop to decrease I/O latency. 

gsstudios


----------



## tet-bundy (Oct 4, 2016)

gsstudios said:


> Hi,
> 
> It all depends on what type of storage you run on your linux machine.
> 
> ...

Click to collapse



Thanks for the quick reply!
Fortunately have an ssd haha
Regards

Gesendet von meinem du_onyx mit Tapatalk


----------



## Deleted member 2357893 (Oct 4, 2016)

gsstudios said:


> Hi,
> 
> It all depends on what type of storage you run on your linux machine.
> 
> ...

Click to collapse



For HDD the best choice is BFQ, not CFQ


----------



## krasCGQ (Oct 4, 2016)

gsstudios said:


> If you run linux on a HDD, it's best to stick with CFQ.

Click to collapse




scafroglia93 said:


> For HDD the best choice is BFQ, not CFQ

Click to collapse



Yep. I use this kernel: https://launchpad.net/~nick-athens30/+archive/ubuntu/xenial

And edited /etc/default/grub to set the default I/O scheduler to BFQ upon boot.

It feels so smooth on my notebook~
Also seems to boost my kernel compilation time!

Sent from my ASUS_Z00AD using XDA Labs


----------



## tet-bundy (Oct 4, 2016)

scafroglia93 said:


> For HDD the best choice is BFQ, not CFQ

Click to collapse



If u read my question u'd have mentioned there's no bfq on my system/kernel

Gesendet von meinem du_onyx mit Tapatalk


----------



## Suigintou (Oct 5, 2016)

Hello,

Thank you so much for your work, that's really great.

Any information about Kraken kernel?


----------



## aryaazimi72 (Oct 7, 2016)

Hey... @Saber
Got Three things:
1.What's "Gentle fair sleepers" whats the advantages of disable/enabling it?
2. What is "Kernel Entropy" and the options on it: read/write wakeup treshold?
3. Reminding u to check "multi path tcp" things out...

Thanks a lotttt!!!


----------



## Saber (Oct 7, 2016)

aryaazimi72 said:


> Hey... @Saber
> Got Three things:
> 1.What's "Gentle fair sleepers" whats the advantages of disable/enabling it?
> 2. What is "Kernel Entropy" and the options on it: read/write wakeup treshold?
> ...

Click to collapse



1. It treats sleeping and waiting tasks as if they were run in a queue. Most developers leave it disabled as it can increase responsiveness of your device. I don't really see a good reason for enabling it.
2. Entropy is used for cryptography and other 'random' data which is used by your phone's hardware. Read and write wakeup thresholds don't really need to be touched at all as usually the default settings are fine, but increasing either will leave you with more free space in entropy pool (If you find that entropy space is always running empty).
3. Been busy lately with studies and coursework so I haven't got around to researching on this 

Saber


----------



## aryaazimi72 (Oct 8, 2016)

It would be amazing if you could make a guide for interactive governor tunables.... @Saber
When you have time.... no rush...
Thank you for everything.... all your guides are realy helpful to me.... tnx


----------



## DB126 (Oct 8, 2016)

aryaazimi72 said:


> It would be amazing if you could make a guide for interactive governor tunables.... @Saber
> When you have time.... no rush...
> Thank you for everything.... all your guides are realy helpful to me.... tnx

Click to collapse



Some key tunables are covered in the OP of [url="http://forum.xda-developers.com/nexus-5x/general/guide-advanced-interactive-governor-t3269557/page533”]this[/url] thread. Makes a measurable difference with appropriate values for your specific device. Don't need to tweak much; keep it simple and test every change before moving on.


----------



## Saber (Oct 9, 2016)

aryaazimi72 said:


> It would be amazing if you could make a guide for interactive governor tunables.... @Saber
> When you have time.... no rush...
> Thank you for everything.... all your guides are realy helpful to me.... tnx

Click to collapse



The guide already covers tunables briefly in the governor tunable section. 

For profiles and in-depth tuning, you can look at this guide here:

[GUIDE] Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life!

Remember that when suggesting ideas, please note that this guide is just to give the general details, it will not be a in-depth tuning guide for specific configurations (which will make the guide even bigger). 

Saber


----------



## tet-bundy (Oct 9, 2016)

aryaazimi72 said:


> Hey... @Saber
> Got Three things:
> 1.What's "Gentle fair sleepers" whats the advantages of disable/enabling it?
> 2. What is "Kernel Entropy" and the options on it: read/write wakeup treshold?
> ...

Click to collapse



I'd also be interested in a short rundown on entropy in op 
I read somewhere, that increasing values may have positive impact on performance. I guess that depends heavily on the kind of apps u're using, as not every app needs random data...

Gesendet von meinem du_onyx mit Tapatalk


----------



## tet-bundy (Oct 9, 2016)

Okay I know we have clarified that read ahead cache does depend on storage size instead of i/o scheduler. But it does depend on quality of the sd card also right? (not like it was an issue for me as i only use class 10. just curious. also in OP u pointed out that increasing read-ahead won't have any positive effect from a certain point on. can it actually do harm to performance if setting higher values? ie for latency u mentioned?
thanks


----------



## Saber (Oct 9, 2016)

tet-bundy said:


> Okay I know we have clarified that read ahead cache does depend on storage size instead of i/o scheduler. But it does depend on quality of the sd card also right? (not like it was an issue for me as i only use class 10. just curious. also in OP u pointed out that increasing read-ahead won't have any positive effect from a certain point on. can it actually do harm to performance if setting higher values? ie for latency u mentioned?
> thanks

Click to collapse



For higher quality sd cards, you may be able to get slightly more performance by increase buffer values further than what I recommend. However, what you might find is that having 'enough' buffer is much better than having too much. Trial and error may be one way to find optimal values. Latency does increase as larger buffer sizes are used. This is extremely important to be kept controlled when recording in 4k or any read/write intensive tasks. Apologies if my explanations are too vague. 

Saber


----------



## DB126 (Oct 9, 2016)

tet-bundy said:


> Okay I know we have clarified that read ahead cache does depend on storage size instead of i/o scheduler. But it does depend on quality of the sd card also right? (not like it was an issue for me as i only use class 10. just curious. also in OP u pointed out that increasing read-ahead won't have any positive effect from a certain point on. can it actually do harm to performance if setting higher values? ie for latency u mentioned?
> thanks

Click to collapse



In addition to what has been written already:
- higher rates SD cards often excel at sequential IO at the expense of random operations
- class 6 cards will often stomp class 10 working with many small files
- excessive cache sizes, especially on internal storage (system partition) absolutely hurts performance as evidenced by benchmarking
- conservative tweaks followed by testing is best the course of action...or just leave it alone.


----------



## christianpeso (Oct 9, 2016)

Suigintou said:


> Any information about Kraken kernel?

Click to collapse



I 2nd this.

Looking for more info on Kraken cpu governor as the kernel I am currently using has it as the default.  Any info would be greatly appreciated.


----------



## tet-bundy (Oct 9, 2016)

Saber said:


> For higher quality sd cards, you may be able to get slightly more performance by increase buffer values further than what I recommend. However, what you might find is that having 'enough' buffer is much better than having too much. Trial and error may be one way to find optimal values. Latency does increase as larger buffer sizes are used. This is extremely important to be kept controlled when recording in 4k or any read/write intensive tasks. Apologies if my explanations are too vague.
> 
> Saber

Click to collapse





Davey126 said:


> In addition to what has been written already:
> - higher rates SD cards often excel at sequential IO at the expense of random operations
> - class 6 cards will often stomp class 10 working with many small files
> - excessive cache sizes, especially on internal storage (system partition) absolutely hurts performance as evidenced by benchmarking
> - conservative tweaks followed by testing is best the course of action...or just leave it alone.

Click to collapse



I'm totally fine with ur explanations. It's not like i intend to get more out of my device as hardware gives. I'm rather curious about this kind of stuff so I'm asking haha
Thanks for ur replies 

Gesendet von meinem du_onyx mit Tapatalk


----------



## Saber (Oct 9, 2016)

christianpeso said:


> I 2nd this.
> 
> Looking for more info on Kraken cpu governor as the kernel I am currently using has it as the default. Any info would be greatly appreciated.

Click to collapse



Will be looking at this soon. 

Saber


----------



## Vinnom (Oct 9, 2016)

I tried to find this but is nowhere to be found.

I tunning intellimm and this is what is causing trouble for my understanding: 

I have three up_threshold parameters -> up_threshold, up_theshold_any_cpu_load and up_threshold_multi_freq.

Ok, up_threshold is not trouble. I googled up_threshold_multi_freq and it has to do with optimal_freq_speed, according to this. As up_threshold_multi_freq is not mentioned in this thread, then would be a great add for this @Saber  knowledge collection.

My problem is with up_threshold_any_cpu_load. While it is well referenced in this thread, my intellimm doesn't have sync_freq parameter. What is this threshold supposed to do? Below is all of my intellimm parameters. Oh, if anyone is sure about what down_differential_multi_core does would be great too. Right now, my guess is that it does the same but considering all of online cpu, not only the cpu0.


```
down_differential   
input_event_min_freq 
sampling_down_factor 
up_threshold              
down_differential_multi_core 
io_is_busy           
sampling_rate        
up_threshold_any_cpu_load 
freq_down_step               
multi_phase_freq_tbl 
sampling_rate_min    
up_threshold_multi_core   
freq_down_step_barrier       
optimal_freq_speed   
shortcut             
ignore_nice_load             
powersave_bias       
two_phase_freq
```


----------



## Saber (Oct 10, 2016)

*OP has been updated*

Here are today's changes:

```
10/10/16:
- Added Kraken CPU governor description
```

I still haven't found time to do all of the other things I've promised, but I will do them later this week. 

Happy reading, Saber


----------



## spezl (Oct 11, 2016)

Hello @Saber!
thanks a lot for all the work and the explanations! I've switched from the SGS5+ to an S7 Exynos now and tried to find out the optimal settings for battery life. I's quite a bit difficult because your guide seems to be a bit Snapdragon oriented. (of course, there are  more Snapdragon then Exynos devices out there!) Would it be possible for you to have an eye at these devices too? In the moment I'm on Tkkg1994's Superkernel and there are a lot of customization, so it's sometimes hard to understand which combination of settings may crash with another...
Also, there is a governor "Ironactive" : https://github.com/Tkkg1994/SuperKernel/commit/dc422bac71e9a82dc2c434aa64d2d5cb49f551b8

Especially, how do I categorize HMP/ HMP packing and does it interfere with interactive tweaks and so on... maybe you are able to bring some light into this?
Thanks a lot in advance!


----------



## Saber (Oct 12, 2016)

spezl said:


> Would it be possible for you to have an eye at these devices too?
> Thanks a lot in advance!

Click to collapse



Sure. The guide is snapdragon oriented I would admit, governor recommendations will have to be updated soon. 



spezl said:


> Also, there is a governor "Ironactive" : https://github.com/Tkkg1994/SuperKernel/commit/dc422bac71e9a82dc2c434aa64d2d5cb49f551b8

Click to collapse



Will add when I have time. Right now I am too consumed with assignments and study. There may a longer delay before I will add more things to the guide. 




spezl said:


> Especially, how do I categorize HMP/ HMP packing and does it interfere with interactive tweaks and so on... maybe you are able to bring some light into this?
> Thanks a lot in advance!

Click to collapse



I don't have a device with big.LITTLE architecture (I'm on the Galaxy S5). From what I have seen, it shouldn't affect interactive tweaks (correct me if I'm wrong).  

Saber


----------



## Saber (Oct 14, 2016)

*OP has been updated*

I have found some time to work on this guide, here are the changes:

```
14/10/16:
- Updated interactive tuning guide with additional tunable information

13/10/16:
- Added Ironactive CPU governor description
```

Happy reading, Saber


----------



## DB126 (Oct 14, 2016)

Saber said:


> OP has been updated
> 
> I have found some time to work on this guide, here are the changes:
> 
> Happy reading, Saber

Click to collapse



So impressive. Comprehensive, approachable, well organized, unbiased and humble (eg: sources credited). An invaluable resource to dedicated modder. Thanks for all you do.


----------



## Saber (Oct 15, 2016)

*OP has been updated*

Here are today's changes:

```
15/10/16:
- Huge cleanup to the formatting of this guide. Headings now have bigger font size, excessive bold use removed, minor fixes everywhere else
```

There were many changes throughout the whole guide in regards to formatting, now it is much easier to read on PC or on any large screen. Viewing the guide on XDA labs is still very comfortable.

Happy reading, Saber


----------



## abhisek sharma (Oct 19, 2016)

Can anyone help me to tweak voltaqe 15 kernal to increase my i9500 s4 performance and battery backup? I am new in overclocking kernals,,,thank u in advance:fingers-crossed:????


----------



## Vinnom (Oct 19, 2016)

abhisek sharma said:


> Can anyone help me to tweak voltaqe 15 kernal to increase my i9500 s4 performance and battery backup? I am new in overclocking kernals,,,thank u in advance:fingers-crossed:????

Click to collapse



First, you have to choose which governor you are going to tweak. And to be honest with you, if you want to save battery, overclock is not a good solution. 

If you give me your available frequencies, I can help you with a profile from my own to tweak interactive or intelliactive for example. But here in this guide you have the tools (descriptions and some personal opnion from OP) to tweak it yourself


----------



## krasCGQ (Oct 20, 2016)

Vinnom said:


> If you give me your available frequencies, I can help you with a profile from my own to tweak interactive or intelliactive for example. But here in this guide you have the tools (descriptions and some personal opnion from OP) to tweak it yourself

Click to collapse



Actually he asked that on a thread, which I redirect it to here and told him to tweak on his own using info available here. However, he asked the same thing here, lol.

Here's universal5410 CPUFreq policies (differ per custom kernel):




2000MHz (A15 OC)
1900MHz (A15 OC)
1800MHz (A15 OC)
1700MHz (A15 OC)
1600MHz (A15 max)
1500MHz
1400MHz
1300MHz
1200MHz
1100MHz
1000MHz
900MHz
800MHz (A15 min)
750MHz(A7 OC)
700MHz (A15 UC/A7 OC)
650MHz (A7 1300MHz - OC max stock)
600MHz (A7 1200MHz - max)
550MHz (A7 1100MHz)
500MHz (A7 1000MHz)
450MHz (A7 900MHz)
400MHz (A7 800MHz)
350MHz (A7 700MHz)
300MHz (A7 600MHz)
250MHz (A7 500MHz - min)
200MHz (A7 400MHz - UC)
150MHz (A7 300MHz - UC)
100MHz (A7 200MHz - UC)



Sent from my ASUS_Z00A using XDA Labs


----------



## Vinnom (Oct 21, 2016)

krasCGQ said:


> Actually he asked that on a thread, which I redirect it to here and told him to tweak on his own using info available here. However, he asked the same thing here, lol.
> 
> Here's universal5410 CPUFreq policies (differ per custom kernel):
> 
> ...

Click to collapse



lol hahahha 

of course it would be better if he tweaked by himself, even if posts a lot asking for help. But, well, I could give him  a start. I will wait if he give us the right frequencies =P it would be good if could pass the governor he wants and the governor parameters from his kernel.


----------



## krasCGQ (Oct 21, 2016)

Vinnom said:


> lol hahahha
> 
> of course it would be better if he tweaked by himself, even if posts a lot asking for help. But, well, I could give him a start. I will wait if he give us the right frequencies =P it would be good if could pass the governor he wants and the governor parameters from his kernel.

Click to collapse



...According to the custom kernel developer itself.
I was a former i9500 user and these values are extracted from exynos5410-cpufreq.c from the kernel source.

Sent from my ASUS_Z00A using XDA Labs


----------



## Vinnom (Oct 22, 2016)

krasCGQ said:


> ...According to the custom kernel developer itself.
> I was a former i9500 user and these values are extracted from exynos5410-cpufreq.c from the kernel source.
> 
> Sent from my ASUS_Z00A using XDA Labs

Click to collapse



Oh I see =)


----------



## Haldi4803 (Oct 23, 2016)

Saber said:


> *101. sched-DVFS*
> A governor by Linaro and ARM that promises to provide better battery life while also being easy to configure. Unlike normal CPU governors that rely on a sampling-based approach to consider cpu time, sched-DVFS uses scheduler task utilization tracking which provides smoother scaling and better response to changing CPU load. Only found on Energy Aware Scheduling (EAS) kernels. According to some reports, energy savings differ between devices and may cause instabilities.

Click to collapse



The only Requirement for sched-DVFS is an EAS Kernel? The Hotplug is unaffected by EAS and sched-DVFS ?


----------



## tet-bundy (Oct 23, 2016)

Could u elaborate more what "load" actually means? I mean i understand that 0% load means "nothing to do" but what does a load of 100% mean for example? That cpu (at current freq) will need a given amount of time or sth?
Regards
 Edot: yes i searched for it. But simply wasn't able to understand what i read. Hence i hope u can 
Gesendet von meinem X mit Tapatalk


----------



## Saber (Oct 23, 2016)

Haldi4803 said:


> The only Requirement for sched-DVFS is an EAS Kernel? The Hotplug is unaffected by EAS and sched-DVFS ?

Click to collapse



Yes, the kernel must have the EAS patches from linaro to utilize EAS based governors. 

EAS based governors don't use hotplug drivers (correct me if I'm wrong). 

gsstudios


----------



## Saber (Oct 25, 2016)

tet-bundy said:


> Could u elaborate more what "load" actually means? I mean i understand that 0% load means "nothing to do" but what does a load of 100% mean for example? That cpu (at current freq) will need a given amount of time or sth?
> Regards
> Edot: yes i searched for it. But simply wasn't able to understand what i read. Hence i hope u can
> Gesendet von meinem X mit Tapatalk

Click to collapse



Load isn't really a simple concept to explain simply but I found this website (first link on google) that provides a wonderful analogy:

Website Link

To explain load as some random decimal numbers isn't really helpful, so we should only consider looking at percentages. 

So basically, if the load is 100%, your CPU is busy trying to serve the queue of processes placed. The process queue or the number of requests is using up your CPU resources. (I should probably learn more in this in my degree  ) 

To have a load of 0% is when the CPU is idling, there are almost no requests that are demanding much of the CPU resources (0% load doesn't necessarily mean the CPU is doing nothing). 

What I've explained could be incorrect as I'm not an expert in CPUs , but I think it's enough to get a grasp of the concept. 

Saber


----------



## tet-bundy (Oct 25, 2016)

Saber said:


> Load isn't really a simple concept to explain simply but I found this website (first link on google) that provides a wonderful analogy:
> 
> Website Link
> 
> ...

Click to collapse



Thanks for dedicated answer. So if i got it right one could only say, the higher cpu load (%) is the capability of cpu to process an upcoming task (immediately!?) Decreases?
Will read the link asap 
Regards
Keep it up

Gesendet von meinem X mit Tapatalk


----------



## Saber (Oct 25, 2016)

tet-bundy said:


> Thanks for dedicated answer. So if i got it right one could only say, the higher cpu load (%) is the capability of cpu to process an upcoming task (immediately!?) Decreases?
> Will read the link asap
> Regards
> Keep it up
> ...

Click to collapse



Yes, that would be correct.

A majority of links I've found expresses load in terms of decimal values, but as we speak in governor terms, this is only to help understand the CPU load process. 

Saber


----------



## Haldi4803 (Oct 25, 2016)

I think the Linux internal Load statistics are somewhat..... Unreadable with SD820 Devices.







But I prefer the %Load anyway.
One important remark.
CPU Load in % is always Frequency based.
Let's say your Core runs at 1000Mhz this means you can make 1000 Million Calculations per second. If you're now using 900 Million Calculations you have a 90% Load. Most governors at this time say "Oh crap we're totally overload, ramp up to 1200Mhz" so now you have a 75% Load if you're doing another 900 Million Calculations the next second.

So if you're using Trepn Profiler to see CPU load there is this neat feature called "Normalized CPU Load" this shows you the maximum possible performance, in a SD820 that would be 2cores at 1.6ghz and 2cores at 2.1ghz.






So while the governor is always trying to keep the frequency as low as possible but still without lag and always trying to keep the queue as small as possible the CPULoad and per core Load should always be high. 
The Normalized Load however shows the absolute possible Maximum.

Pretty easy to see when the phone starts throttling.




While CPU0 stays at 1600mhz it's impossible for CPU3 to keep the frequency. It's dropping steadily.
So while CPU Load an Normalized CPU Load are the same at max frequency, you can see the Normalized Load dropping with the CPU3 frequency while the CPU Load stays the same.


----------



## Saber (Oct 25, 2016)

Thanks for clearing this up @Haldi4803

Indeed governor load calculation takes frequency into account. I should probably make a list of terminology somewhere in this guide.

Saber


----------



## dsjiffry (Nov 1, 2016)

@Saber

So I read your guide and modified my interactive governor parameters and I was wondering if there are any changes I can do to make it better.

My processor is the helio X10 which is a Big.little core and these settings are for the little core. It has a max. Freq. Of  1950000

CODE]
Above hispeed delay - 20000 1183000:50000 1625000:150000 
Bootpulse duration - 20000
hispeed freq - 1183000
boost - 0 
go hispeed load - 85
io is busy - 0
min sample time - 80000
target loads - 98 300000:75 652400:99
timer rate - 25000
timer slack -  -1[/CODE]

Any suggestions to improve it? I'm not fully focused on battery life just don't want the processor to jump to high frequencies unecessarily


----------



## Saber (Nov 1, 2016)

dsjiffry said:


> @Saber
> 
> So I read your guide and modified my interactive governor parameters and I was wondering if there are any changes I can do to make it better.
> 
> ...

Click to collapse



Hi, 

You can try following this guide to help you tune interactive to the desired behaviour:

[GUIDE] Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life!

Saber


----------



## dsjiffry (Nov 2, 2016)

Saber said:


> Hi,
> 
> You can try following this guide to help you tune interactive to the desired behaviour:
> 
> ...

Click to collapse



:good:

 Yeah I read that when I was making these settings I just wanted to know whether there are any conflicting values or maybe bottlenecks in my settings............


----------



## Saber (Nov 2, 2016)

dsjiffry said:


> :good:
> 
> Yeah I read that when I was making these settings I just wanted to know whether there are any conflicting values or maybe bottlenecks in my settings............

Click to collapse



As long as the target loads and frequency values are within your CPU's limits, the settings should be fine. Those interactive settings may be better optimized for snapdragon devices, but they should really work fine on most devices. 

Saber.


----------



## dsjiffry (Nov 2, 2016)

Saber said:


> As long as the target loads and frequency values are within your CPU's limits, the settings should be fine. Those interactive settings may be better optimized for snapdragon devices, but they should really work fine on most devices.
> 
> Saber.

Click to collapse



Say my timer slack value is minus one....... Is that all right?

 I borrowed it from a different mediatek powered phone's setting......... Saw it on G+


----------



## Saber (Nov 2, 2016)

dsjiffry said:


> Say my timer slack value is minus one....... Is that all right?
> 
> I borrowed it from a different mediatek powered phone's setting......... Saw it on G+

Click to collapse



You can try that value and see how it goes. 

It is also used in the profiles from the guide linked for the LITTLE cores.

Saber.


----------



## Iliyena (Nov 3, 2016)

dsjiffry said:


> @Saber
> 
> So I read your guide and modified my interactive governor parameters and I was wondering if there are any changes I can do to make it better.
> 
> ...

Click to collapse



Hey! Before you spend to long tweaking and testing: The Helio X 10 is not configured big.LITTLE but 8 cores as one all running together in one cluster, arguably: "True Octa-Core". (MT6795M/6795/6795T) 

There is an app (Redmi Note 2 Tool) and a "flow" for app Automate modifying the Interactive gov/cores online/max frequency/touchboost for our Helio X10, check those values out. Fella @Xmister spent some time gaining fluidity while keeping/improving battery. Im not running it currently though.

Sent from my Redmi Note 2 using XDA Labs


----------



## dsjiffry (Nov 4, 2016)

Iliyena said:


> Spoiler.

Click to collapse



 Actually it is Big.Little. True octa core means all big cores and little cores can run simultaneously if needed. If you open Kernel auditor you will see the cores seperated into Big and Little clusters.


----------



## Iliyena (Nov 4, 2016)

dsjiffry said:


> Actually it is Big.Little. True octa core means all big cores and little cores can run simultaneously if needed. If you open Kernel auditor you will see the cores seperated into Big and Little clusters.

Click to collapse



Which is wrong. Moved to Kernel Toolkit for that reason. 2 weeks after Kernel Adiutor got updated to show correct values for 6795 and other MTK SoC's.. Which makes me wonder how you can see what you see. All changes change both clusters or in some cases nothing at all :/

Sent from my Redmi Note 2 using XDA Labs


----------



## Saber (Nov 4, 2016)

dsjiffry said:


> Actually it is Big.Little. True octa core means all big cores and little cores can run simultaneously if needed. If you open Kernel auditor you will see the cores seperated into Big and Little clusters.

Click to collapse



What @Iliyena said is correct. 

I didn't look up your SOC before so I assumed it was big.LITTLE, but the helio X10 is true octa core. 

In this case, it is probably best not to follow that guide from the nexus 5x forums as it can possibly cause negative effects to the performance of your device. 

Saber.


----------



## dsjiffry (Nov 4, 2016)

@Saber @Iliyena
Sooooooo....... Does this mean my values are wrong or something???? 

Also I shouldn't use Kernal Auditor???????


----------



## Iliyena (Nov 4, 2016)

dsjiffry said:


> @[email protected]
> Sooooooo....... Does this mean my values are wrong or something????
> 
> Also I shouldn't use Kernal Auditor???????

Click to collapse



Kernel Adiutor is great as well as Toolkit. Adiutor also have Beta version with continuous updates. Just treat the cores as a big bunch of hot .LITTLEs. 

The settings done by the app I mentioned or the Automate-flow might be a good way to start over unless ur happy with what you got. Save profiles and compare, the way of geeks  One big thing is that MIUI as standard always fires up 3 cores to 1183 MHz while touching the screen. Lowering this to 2 cores @ 806MHz or in some cases staying @ 1183MHz will be almost precisely as good for touchboost and will save battery when just quickly doing small things or reading forums and such.


----------



## [email protected] (Nov 9, 2016)

Any details on intellitharmal?


----------



## Saber (Nov 9, 2016)

[email protected] said:


> Any details on intellitharmal?

Click to collapse



Not yet. Will add the details later when I have time. 

Saber.


----------



## LuckySwitz (Nov 10, 2016)

Will wait for you to add zzmove native hotplug..


----------



## anfernee0117 (Nov 11, 2016)

Thanks for this Saber-san


----------



## razibrizal (Nov 13, 2016)

Anyone know sched governor on the pixel phone?


----------



## Haldi4803 (Nov 13, 2016)

Nr 101. Works Hand in Hand with EAS


----------



## Saber (Nov 14, 2016)

*The OP has been updated*

As you may already know, I have been busy in these past few weeks due to exams. Now that I've finished, I can start fulfilling requests 

Here are today's changes:

Added ZZmoove native hotplug description
Fixed sprdemand governor description

Saber-san  lol


----------



## Saber (Nov 14, 2016)

[email protected] said:


> Any details on intellitharmal?

Click to collapse



I think I will have to break the promise for now. 

Intellithermal is a thermal control driver which isn't covered in my guide. I might add it sometime in the future when I expand the guide 

Saber


----------



## Saber (Nov 14, 2016)

LuckySwitz said:


> Will wait for you to add zzmove native hotplug..

Click to collapse



Done


----------



## LuckySwitz (Nov 16, 2016)

Saber said:


> Done

Click to collapse



Oh! Thank you so much mate! Appreciated for this!


----------



## AbdoRefky (Nov 20, 2016)

Great work,

Thank you very much


----------



## Saber (Nov 22, 2016)

*The OP has been updated*

Here are today's changes

Improved 'what to look out for' sections for the CPU governor and I/O scheduler guide

So I took my time to look through the 'what to look out for' sections of my guide and noticed that my explanations are very vague and somewhat confusing. Now that I've fixed them and made major improvements, they should hopefully be more useful when looking out for a CPU governor or I/O scheduler. 

Enjoy reading, 

Saber


----------



## Vink67 (Nov 22, 2016)

Saber said:


> *The OP has been updated*
> 
> Here are today's changes
> 
> ...

Click to collapse



Awesome job ! Thx

Sent from my MotoG3 using XDA-Developers mobile app


----------



## Saber (Nov 23, 2016)

*The OP has been updated*

Here are today's changes:

Updated ElementalX CPU governor description

Saber


----------



## Saber (Nov 25, 2016)

*The OP has been updated*

Here are today's changes:

Updated summaries for I/O schedulers

Happy reading, 

Saber


----------



## WingedLion (Dec 1, 2016)

"For battery life:

- Ondemand..."

"it can also have a relatively negative effect on battery life versus other governors."

Which one is true?Anyway,thanks for the guide.


----------



## krasCGQ (Dec 1, 2016)

WingedLion said:


> "For battery life:
> 
> - Ondemand..."
> 
> ...

Click to collapse



I think it means that some devices might have poor battery life with ondemand.

Sent from my ASUS_Z00A using XDA Labs


----------



## WingedLion (Dec 1, 2016)

Then why is it listed first under "For battery life:".Is conservative the best choice for battery life?


----------



## DB126 (Dec 1, 2016)

WingedLion said:


> Then why is it listed first under "For battery life:".Is conservative the best choice for battery life?

Click to collapse



Really dependent on device, storage characteristics, app portfolio and user behavior/expectations. There is no one answer. That said, I find 'ondemand' offers a nice balance of battery life and performance on my non-mainstream devices. YMMV.


----------



## Saber (Dec 2, 2016)

WingedLion said:


> Then why is it listed first under "For battery life:".Is conservative the best choice for battery life?

Click to collapse



Ondemand is considered battery friendly mainly because of how aggressively it ramps down frequencies. There is a threshold CPU usage that must be met in order to increase to max frequency, therefore it tends to be slower at ramping up frequencies. Together with this behavior and the quick ramping down of frequencies results in better battery life at the cost of responsiveness. The amount of battery savings depend on the device and how you use your device. 

Conservative is a 'slower' ondemand, while it may be useful saving more battery, the gains are very small that it instead is a very inefficient governor. Variants of the conservative or ondemand governor are recommended if you want to achieve good battery life. 

Saber.


----------



## Vink67 (Dec 2, 2016)

Saber said:


> Ondemand is considered battery friendly mainly because of how aggressively it ramps down frequencies. There is a threshold CPU usage that must be met in order to increase to max frequency, therefore it tends to be slower at ramping up frequencies. Together with this behavior and the quick ramping down of frequencies results in better battery life at the cost of responsiveness. The amount of battery savings depend on the device and how you use your device.
> 
> Conservative is a 'slower' ondemand, while it may be useful saving more battery, the gains are very small that it instead is a very inefficient governor. Variants of the conservative or ondemand governor are recommended if you want to achieve good battery life.
> 
> Saber.

Click to collapse



For me after years of governor testing, lionfish is my friend...
Smooth and battery friendly, good responsiveness.
When galaxy S2 came out, with Sihya Kernel I loved to use PegasusQ governor with hotplugg.


----------



## 1+3_FA (Dec 8, 2016)

For me sth crazy just happend. I read your great thread and changed some parameters in Kernel Adiutor.

1) I/O Sheduler from bfq -> noop
2) buffer size from 256 kb -> 3072 kb

I've got a oneplus 3 with resurrection ROM[7.1 - boefla kernel]

After a few seconds the device was going to heat up...The temperature from the cpu goes up to 85°C and there was no reason for that...strange isn't it? Any ideas where the relation to the two parameters above is ?


----------



## leolawliet (Dec 8, 2016)

1+3_FA said:


> For me sth crazy just happend. I read your great thread and changed some parameters in Kernel Adiutor.
> 
> 1) I/O Sheduler from bfq -> noop
> 2) buffer size from 256 kb -> 3072 kb
> ...

Click to collapse



Keep the buffer size at a lower setting, 3072kb seems like too much. I trust row over noop.


----------



## 1+3_FA (Dec 8, 2016)

I just deinstalled KA and installed ex KM... Same settings here, and no heating up :/ strange!


----------



## Vink67 (Dec 12, 2016)

1+3_FA said:


> For me sth crazy just happend. I read your great thread and changed some parameters in Kernel Adiutor.
> 
> 1) I/O Sheduler from bfq -> noop
> 2) buffer size from 256 kb -> 3072 kb
> ...

Click to collapse



1024 KB would be better, and try SioPlus if you can...


----------



## Deleted member 2357893 (Dec 13, 2016)

Vink67 said:


> 1024 KB would be better, and try SioPlus if you can...

Click to collapse



Zen 128


----------



## Iliyena (Dec 13, 2016)

Vink67 said:


> 1024 KB would be better, and try SioPlus if you can...

Click to collapse






scafroglia93 said:


> Zen 128

Click to collapse



To finish off, zen I/O Scheduler with 512 KB read ahead is a good setting for everyone I'd say. Wish all my devices had it. 

Sent from my SM-G920F using XDA Labs


----------



## LPW00 (Dec 18, 2016)

Thanks for this great thread. Finally I think I set my phone up the right way.


----------



## Saber (Dec 19, 2016)

*The OP has been updated*

Here are the changes for today:

Changed recommended I/O read-ahead buffer values for 32GB+ to a more sensible value

This is probably the last change for the year (I'll take a break from working on this guide). 

Saber


----------



## bdwilk (Dec 19, 2016)

Saber said:


> The OP has been updated
> 
> Here are the changes for today:
> Changed recommended I/O read-ahead buffer values for 32GB+ to a more sensible value
> ...

Click to collapse



Merry Christmas & Happy New Year then. :good:

Sent from my OnePlus A0001 using XDA Labs


----------



## rejneesh (Dec 19, 2016)

Can anyone guide me to set the best ideal CPU parameters for efficient battery life.I am using Asus zenphone 2 laser (550KL).Thnx


Sent from my ASUS_Z00LD using Tapatalk


----------



## pedrohxn (Dec 19, 2016)

Does these I/O configs also apply for internal storage??


This is the one guide to rule them all.
Thank you @Saber !


----------



## Saber (Dec 19, 2016)

pedrohxn said:


> Does these I/O configs also apply for internal storage??
> 
> 
> This is the one guide to rule them all.
> Thank you @Saber !

Click to collapse



Hi,

The I/O configs covered in the guide applies to both internal and external storage (if applicable).

Saber


----------



## djsolidsnake86 (Dec 20, 2016)

for battery life in a redmi note 3 pro qualcomm, what choose between interactive, conservative and ondemand?


----------



## krasCGQ (Dec 21, 2016)

djsolidsnake86 said:


> for battery life in a redmi note 3 pro qualcomm, what choose between interactive, conservative and ondemand?

Click to collapse



If the only choices are these, I would prefer to use interactive, or maybe conservative. I wouldn't use ondemand at the most on newer devices.

Sent from my ASUS_Z00A using XDA Labs


----------



## Iliyena (Dec 21, 2016)

djsolidsnake86 said:


> for battery life in a redmi note 3 pro qualcomm, what choose between interactive, conservative and ondemand?

Click to collapse



Perfectly tweaked Interactive is the way to go. Eg. everything seemed to work on my Galaxy S6 with conservativex... until I had to use the GPS, lagged behind awfully. So tweaked my interactive some. Seems ok.

Sent from my Redmi Note 2 using XDA Labs


----------



## externus (Dec 22, 2016)

Why is "bluactive" recommended for battery life, but in the description "This governor is mainly focused on performance "

And would be Intellimm fine for Mediatek SOCs ? I have MT6752


----------



## mjohnson4580 (Dec 22, 2016)

On interactive if you set timer_slack to -1 does that technically mean you turn off timer-slack or timer-slack and time-frame? 

Sent from my Pixel using Tapatalk


----------



## jlb1959.01 (Dec 22, 2016)

I'm not the smartest on setups however I do know each Rom,kernel reacts differently to the settings,example for me is stock kernel on jasmin 9.1 using interactive and row I get average battery life and performance,then I flashed Dragon kernel,use smart ads and Zen and I get double the battery and performance..


----------



## Saber (Dec 23, 2016)

externus said:


> Why is "bluactive" recommended for battery life, but in the description "This governor is mainly focused on performance "
> 
> And would be Intellimm fine for Mediatek SOCs ? I have MT6752

Click to collapse



Thanks for spotting this issue. 

*The OP has been updated*

As for Intellimm, you will have to try it out for yourself as I don't know how it will behave on that SOC. 

Saber


----------



## reality1234 (Dec 23, 2016)

Which is the best governor and hotplug combo for least battery drain when idle?


----------



## Saber (Dec 23, 2016)

reality1234 said:


> Which is the best governor and hotplug combo for least battery drain when idle?

Click to collapse



Depends on the device you have.

If you have Qualcomm SOC, mpdecision would be the best hotplug.

For governor, choose one of the recommended governors for battery life.

Saber


----------



## yarpiin (Dec 23, 2016)

reality1234 said:


> Which is the best governor and hotplug combo for least battery drain when idle?

Click to collapse



I use Despair on both clusters with alucard hotplug or autosmp on Oneplus3 Qcom 820 .

Sent from my OnePlus3 using XDA Labs


----------



## aryaazimi72 (Dec 28, 2016)

Hi! 
1.  Does the low stablity in file system mean , files may get corrupted or lost?
What do you mean by "f2fs has the worst stablity"? (In the chart on your site)
So if i use it , files may get lost and corrupted?

2.   How can i tweak ext4 to remove journaling and improve the drive lifespan?

3.   Are the filesystem stuff writen in your site , right about an 128gb sd card or an 200gb one?  Or just for internal sd?

4.   My external storage ( micro sd ) is formatted as exFat by default , is it better to format it as Ext4 ? I mean in performance and lifespan... should i do this in twrp? ( when i wipe , i have an option to do that....)


----------



## Saber (Dec 29, 2016)

aryaazimi72 said:


> Hi!
> 1.  Does the low stablity in file system mean , files may get corrupted or lost?
> What do you mean by "f2fs has the worst stablity"? (In the chart on your site)
> So if i use it , files may get lost and corrupted?
> ...

Click to collapse



Hi,

Although this thread is only about governors and IO schedulers, I will answer your questions. 

1. When referring to the chart, 'worst' stability implies that there is a chance you may lose your data or it may get corrupted due to unpolished code or the design of the file system. F2FS for example is still a relatively new filesystem which still needs a *lot* more testing before I would consider it 'stable'.  'Best' stability is usually observed from filesystems with mature code that have been universally tested. 

2. While there are guides on XDA about formatting to ext4 without journaling, the guides have only been tested on older devices and I don't personally recommend removing journaling for stability reasons. I intended to write the filesystem guide to other applications not specific to android devices. 

3. Most of the differences will be observed on internal sd. It does however apply to both internal and external storage. 

4. External sd should only be formatted to ext4 if your ROM supports it and if you don't intend to remove your external sd. Otherwise, stick to vfat (fat32) or exfat. 

Saber


----------



## dsjiffry (Dec 31, 2016)

Saber said:


> SPOILER

Click to collapse



Hey Saber, I have a small problem I came across this awesome governor settings for my phone but they don't use the entire freq. Range......... I'll attach the settings and the Cpu Spy details......

In that you can see the freq. Steps 1469MHz, 1625MHz and 1781MHz are barely used but the 1950MHz is being used more than all 3 combined........


----------



## Iliyena (Dec 31, 2016)

dsjiffry said:


> Hey Saber, I have a small problem I came across this awesome governor settings for my phone but they don't use the entire freq. Range......... I'll attach the settings and the Cpu Spy details......
> 
> In that you can see the freq. Steps 1469MHz, 1625MHz and 1781MHz are barely used but the 1950MHz is being used more than all 3 combined........

Click to collapse



Thats a MT6975, Helio X10? Not using the whole range often is a good thing if the lower frequencies are the one used absolute most (403 & 806MHz). 

When CPU gets a big chunk to do it should go up pretty quick to get it done fast, it doesn't now what you'll throw at it next so it wants to get things done as fast as you let it and then ramp down in the same fashion, as fast as you let it. I'd lower the max frequence to 1781 MHz btw, nothing gets better with the higher max freq in this SoC, just hotter 

Ps. There is nothing attached in your post. Ds.

Sent from my Redmi Note 2 using XDA Labs


----------



## RedToken (Jan 1, 2017)

Great poll, thanks!


----------



## DerTeufel1980 (Jan 1, 2017)

@Saber: anyone already using sched-DVFS?


----------



## dsjiffry (Jan 1, 2017)

Iliyena said:


> I'd lower the max frequence to 1781 MHz btw, nothing gets better with the higher max freq in this SoC, just hotter

Click to collapse



sorry about the attachments they don't seemed to have uploaded........

About limiting the CPU speed I seem to be unable to do it on my HTC X9 the system keeps resetting it....... Is there a file which I can directly change instead of using a 3rd party app??????


----------



## Iliyena (Jan 1, 2017)

dsjiffry said:


> sorry about the attachments they don't seemed to have uploaded........
> 
> About limiting the CPU speed I seem to be unable to do it on my HTC X9 the system keeps resetting it....... Is there a file which I can directly change instead of using a 3rd party app??????

Click to collapse



What apps have you used? Does changing of CPU governor or I/O Sheduler stick?
Someone else should take it from here though. I haven't owned a HTC since my first smartphone, a HTC Tattoo running Android 1.6 

Sent from my Redmi Note 2 using XDA Labs


----------



## christianpeso (Jan 2, 2017)

Can you give us some info on Sociopath TCP Algorithm please?


----------



## dsjiffry (Jan 2, 2017)

Iliyena said:


> What apps have you used? Does changing of CPU governor or I/O Sheduler stick?
> Someone else should take it from here though. I haven't owned a HTC since my first smartphone, a HTC Tattoo running Android 1.6

Click to collapse



Yeah IO and Governor can be changed but the Max. Cpu freq. Keeps resetting to 1.9GHz........


----------



## Haldi4803 (Jan 2, 2017)

DerTeufel1980 said:


> @Saber: anyone already using sched-DVFS?

Click to collapse



I think Nexus 6 after an Update, and Pixel use EAS as standard.
Probably still using Interactive... but maybe a custom ROM/Kernel there supports it.


----------



## Saber (Jan 2, 2017)

DerTeufel1980 said:


> @Saber: anyone already using sched-DVFS?

Click to collapse



It is used as the default governor in EAS kernels, no tuning support but theoretically better mobile experience. I've only seen this implemented in kernels for newer devices like the Nexus 6P.

Saber


----------



## Ac_gel (Jan 2, 2017)

no one  is interested in schedutil? 
Sched-DVFS will be better than cafactive?


----------



## Haldi4803 (Jan 2, 2017)

Sched-DVFS is better than ANY Governor.
Governors are Reactive, they take a look at the CPU load in Period A and then Change CPU frequency for Period B.
Sched-DVFS uses Energy Aware Sheduling (EAS) so Android Task Scheduler knows in advance how much Load is going to be and how it's gonna be split on different cores. Sched-DVFS now scales CPU frequency accordingly so that the whole Task is done curing Period A.


----------



## DerTeufel1980 (Jan 5, 2017)

Saber said:


> It is used as the default governor in EAS kernels, no tuning support but theoretically better mobile experience. I've only seen this implemented in kernels for newer devices like the Nexus 6P.
> 
> Saber

Click to collapse



Great. Thank you. 
We just had to cherry-pick about 200 hundred commits, buried in some qcom merge...


----------



## DerTeufel1980 (Jan 5, 2017)

Ac_gel said:


> no one  is interested in schedutil?
> Sched-DVFS will be better than cafactive?

Click to collapse



The other important change is to introduce a new CPU frequency-scaling governor, *schedutil*, that makes decisions based on utilization as measured by the scheduler. The cpufreq_update_util() call that the scheduler makes whenever it updates the load average already carries information about the calculated load on the current CPU, but no governor uses that information. schedutil changes that. It doesn't change much though.

schedutil still only performs updates at the same rate as the current code, so it doesn't try to address the interactive responsiveness problem, and doesn't try to be clever about realtime or deadline threads. All it does is use the load calculated by the scheduler instead of the average load over the last little while, and optionally imposes that frequency change instantly (directly from the scheduler callback) if the driver supports it.

*This is far from a complete solution for power-aware scheduling*, but looks like an excellent base on which to make cpufreq more responsive to sudden changes in load, and more aware of some of the finer details that the scheduler can, in theory, provide.
copied from here: https://lwn.net/Articles/682391/

-----

*Sched-DVFS IS power-aware scheduling!*


----------



## Haldi4803 (Jan 5, 2017)

DerTeufel1980 said:


> schedutil still only performs updates at the same rate as the current code, so it doesn't try to address the interactive responsiveness problem, and doesn't try to be clever about realtime or deadline threads. All it does is use the load calculated by the scheduler instead of the average load over the last little while, and optionally imposes that frequency change instantly (directly from the scheduler callback) if the driver supports it.

Click to collapse



Indeed, having a thread priority awareness would be pretty awesome.
Not only for Boost functions, but also for battery save options, throttling down when there is no need for full performance.
Also putting certain apps, onto Big Cores or small cores..... Is that currently not in the Task scheduler... Is it? Or st least HTC is using software to 'improve' that.


----------



## DerTeufel1980 (Jan 5, 2017)

Haldi4803 said:


> Indeed, having a thread priority awareness would be pretty awesome.
> Not only for Boost functions, but also for battery save options, throttling down when there is no need for full performance.
> Also putting certain apps, onto Big Cores or small cores..... Is that currently not in the Task scheduler... Is it? Or st least HTC is using software to 'improve' that.

Click to collapse



Putting different tasks to different clusters needs the scheduler to know about the energy used by each core/cluster on different speeds. 
Since mediatek did not add sched-DVFS, there's no such information available for our device... We just set the energy for each core/cluster to 0, making the scheduler just decide for speed... 
For knowing the correct values, one probably needs to ask mediatek [emoji3] [emoji12]


----------



## Deleted member 2357893 (Jan 6, 2017)

DerTeufel1980 said:


> Putting different tasks to different clusters needs the scheduler to know about the energy used by each core/cluster on different speeds.
> Since mediatek did not add sched-DVFS, there's no such information available for our device... We just set the energy for each core/cluster to 0, making the scheduler just decide for speed...
> For knowing the correct values, one probably needs to ask mediatek [emoji3] [emoji12]

Click to collapse



You miss this:

- https://source.codeaurora.org/quic/la/kernel/mediatek/log/?h=aosp-new/android-mtk-3.18
- https://source.codeaurora.org/quic/la/kernel/mediatek/log/?h=aosp-new/android-mtk-3.18&ofs=50


----------



## Haldi4803 (Jan 7, 2017)

Seems like newest SchedTune allows for different Boost for different Apps. And even a Touchboost.




Source: http://de.slideshare.net/linaroorg/...ernel-adaptation-to-the-android-common-kernel


----------



## #Henkate (Jan 21, 2017)

@Saber

Hi there!

Just found this video: Real-world I/O scheduler benchmarks.

And after checking the comments, i have readed about DiscoMark Benchmark app. It seems a nice benchmark app. Gonna play with kernel settings and use this benchmark.


And with this occasion, i thank you for the best guide out there.


----------



## Wilguens Joachin (Jan 27, 2017)

What would you recommend for the OnePlus2 64GB?
Right now my CPUs are set to Impulse. I/O is set to Zen with 2048kb. Using IntelliPlug. TCP Westwood of course


----------



## Saber (Jan 29, 2017)

Wilguens Joachin said:


> What would you recommend for the OnePlus2 64GB?
> Right now my CPUs are set to Impulse. I/O is set to Zen with 2048kb. Using IntelliPlug. TCP Westwood of course

Click to collapse



Those settings should give the best balance between battery life and performance for your device. However, I don't have a OP2 so I am only speaking from what people have posted in your device forum.

Interactive may be another governor you can use but needs a little bit of tweaking.

Saber


----------



## Wilguens Joachin (Jan 29, 2017)

Saber said:


> Those settings should give the best balance between battery life and performance for your device. However, I don't have a OP2 so I am only speaking from what people have posted in your device forum.
> 
> Interactive may be another governor you can use but needs a little bit of tweaking.
> 
> Saber

Click to collapse



Ya so far it's been pretty good. Switched to msm hotplug and using simple_ondemand GPU. Elementalx is pretty good to.


----------



## dsjiffry (Feb 2, 2017)

Saber said:


> Spoiler

Click to collapse



Hey Saber I wanted to know is there a way to make a soft cap on CPU scaling when using the Interactive governor.

My processor goes all the way to it's max freq. (1.9GHz)  During usage leaving some frequencies unused. (1.6GHz and 1.8GHZ)  which parameter can I use to make the CPU pause for a bit at 1.6 GHz before going all the way to the max?????


----------



## zputnyq (Feb 2, 2017)

Hi guys, I need your help.
Currently I wanna tweak hotplug governor on AcerZ205 but I am confused about a few things & 
I have asked it on my device forum but still no answers yet.

Could u explain to me what are these please

1. cpu_down_avg_times
2. cpu_up_avg_times
3. io_is_busy
4. od_threshold
5. thermal_dispatch_avg_times
6. Ignore_nice_load

Sent from my Z205 using Tapatalk


----------



## nexus_vl (Feb 2, 2017)

zputnyq said:


> Hi guys, I need your help.
> Currently I wanna tweak hotplug governor on AcerZ205 but I am confused about a few things &
> I have asked it on my device forum but still no answers yet.
> 
> ...

Click to collapse



3 and 6 are familiar to me and appear on several govs,  the other ones seem more exotic and probably more specific to one gov. 
io_is_busy has two settings 0 and 1, at 1 the governor will ramp up more easily cause it will take storage writes and reads in to acount as cpu load. 
ignore_nice_load,  same as above, two settings 0 and 1.
Usually its at 0, at 1 it will ignore lighter loads and stay at min frequency longer, this can cause lags tho.
These settings also appear on some hotplug governers where this function will be the same


----------



## zputnyq (Feb 2, 2017)

nexus_vl said:


> 3 and 6 are familiar to me and appear on several govs,  the other ones seem more exotic and probably more specific to one gov.
> io_is_busy has two settings 0 and 1, at 1 the governor will ramp up more easily cause it will take storage writes and reads in to acount as cpu load.
> ignore_nice_load,  same as above, two settings 0 and 1.
> Usually its at 0, at 1 it will ignore lighter loads and stay at min frequency longer, this can cause lags tho.
> These settings also appear on some hotplug governers where this function will be the same

Click to collapse



Sorry I mean cpu_up_avg_time for number 2. I had edited my post

Thx for your reply.

I still wanna know the rest because I've been looking it on google & found nothing.

Someone explain to me about these please

1. cpu_down_avg_times
2. cpu_up_avg_times
3. od_threshold
4. thermal_dispatch_avg_times

Sent from my Z205 using Tapatalk


----------



## Saber (Feb 3, 2017)

zputnyq said:


> Sorry I mean cpu_up_avg_time for number 2. I had edited my post
> 
> Thx for your reply.
> 
> ...

Click to collapse



Hi, 

Could you please provide a link to the kernel source or XDA thread? 

I may be able to get some information on these variables.

Saber


----------



## zputnyq (Feb 3, 2017)

Saber said:


> Hi,
> 
> Could you please provide a link to the kernel source or XDA thread?
> 
> ...

Click to collapse



Hi @Saber this is the kernel source from its official website.
the kernel source can be found under document tab

https://www.acer.com/ac/en/MY/content/support-product/5626?b=1

And this is for xda thread only for its rom but kernel can be found inside boot.img & recovery.img

https://forum.xda-developers.com/an...res-roms-cwm-root-acer-mtk-t2945933?nocache=1


Sent from my Z205 using Tapatalk

---------- Post added at 01:55 PM ---------- Previous post was at 12:56 PM ----------




dsjiffry said:


> Hey Saber I wanted to know is there a way to make a soft cap on CPU scaling when using the Interactive governor.
> 
> My processor goes all the way to it's max freq. (1.9GHz)  During usage leaving some frequencies unused. (1.6GHz and 1.8GHZ)  which parameter can I use to make the CPU pause for a bit at 1.6 GHz before going all the way to the max?????

Click to collapse



You can try to tune "up_threshold" and "sampling_rate" first because most gov has it. Bigger number on them will make your cpu longer in reaching its highest freq.


Sent from my Z205 using Tapatalk


----------



## Saber (Feb 3, 2017)

zputnyq said:


> Hi @Saber this is the kernel source from its official website.
> the kernel source can be found under document tab
> 
> https://www.acer.com/ac/en/MY/content/support-product/5626?b=1
> ...

Click to collapse



Hi, 

Unfortunately, I was unable to obtain any information about these variables. I didn't download the kernel source to have a look, instead I found a google kernel source that had the variables contained in a governor named 'balanced', only found in a few mediatek devices. There were other governors (including hotplug) that had only some of the variables. My C programming skills aren't great enough to see that functions of each variable. 

For reference, I will leave the links from where I've conducted my research:
https://android.googlesource.com/ke...-kitkat-mr2/drivers/cpufreq/cpufreq_balance.c
https://android.googlesource.com/kernel/mediatek/+/2b36ee80fc7af58da2213704ef39a0ca939de79a^!/

Saber


----------



## zputnyq (Feb 3, 2017)

Saber said:


> Hi,
> 
> Unfortunately, I was unable to obtain any information about these variables. I didn't download the kernel source to have a look, instead I found a google kernel source that had the variables contained in a governor named 'balanced', only found in a few mediatek devices. There were other governors (including hotplug) that had only some of the variables. My C programming skills aren't great enough to see that functions of each variable.
> 
> ...

Click to collapse



Wow thank you so much.
Yup no problem about that.
Those links are enough
[emoji4] 
[emoji106] 

Sent from my Z205 using Tapatalk


----------



## LilAnt530 (Feb 4, 2017)

Hey im wondering about tweaking specific tuneables with Kernel Auditor since the current build im on doesn't allow much in the way of selections (only govs are balances and interactive) (noop&cfq for I/O) and I have a heavy battery drain as well.


----------



## zputnyq (Feb 4, 2017)

LilAnt530 said:


> Hey im wondering about tweaking specific tuneables with Kernel Auditor since the current build im on doesn't allow much in the way of selections (only govs are balances and interactive) (noop&cfq for I/O) and I have a heavy battery drain as well.

Click to collapse



You can try tuning sampling_rate & up_threshold first in Kernel Adiutor because most gov has them. Bigger number causes cpu stay longer on low cpu freq & save battery but it may drop your device performance too.

The easiest way is using an app named L Speed you don't need to scale anything, just enabling one of its options on L Speed's gov tuner section

Sent from my Z205 using Tapatalk


----------



## Iliyena (Feb 4, 2017)

LilAnt530 said:


> Hey im wondering about tweaking specific tuneables with Kernel Auditor since the current build im on doesn't allow much in the way of selections (only govs are balances and interactive) (noop&cfq for I/O) and I have a heavy battery drain as well.

Click to collapse



What phone? What ROM?
I'd tweak the interactive gov... And use CFQ for I/O Shed. For anyone to be able to help with the numbers to try out for the tweaking of gov the specifics of the device will help.

Sent from my SM-G920F using XDA Labs


----------



## LilAnt530 (Feb 4, 2017)

Iliyena said:


> What phone? What ROM?
> I'd tweak the interactive gov... And use CFQ for I/O Shed. For anyone to be able to help with the numbers to try out for the tweaking of gov the specifics of the device will help.

Click to collapse




Lol im on a G928F on cm13, pretty sure CFQ causes a bootloop, the issue was fixed slightly with entropy tweaks.


----------



## Iliyena (Feb 4, 2017)

LilAnt530 said:


> Lol im on a G928F on cm13, pretty sure CFQ causes a bootloop, the issue was fixed slightly with entropy tweaks.

Click to collapse



Weird... CFQ is every cowards stability-go-to-IO-shed :S

Sent from my SM-G920F using XDA Labs


----------



## Saber (Feb 4, 2017)

LilAnt530 said:


> Hey im wondering about tweaking specific tuneables with Kernel Auditor since the current build im on doesn't allow much in the way of selections (only govs are balances and interactive) (noop&cfq for I/O) and I have a heavy battery drain as well.

Click to collapse



Hi, 

I don't think the kernel alone is responsible for heavy battery drainage (although rarely occurs), I would suggest having a look at betterbatterystats and see what process is causing this issue. As with what @zputnyq said, try playing with your governor tunables. You may be able to get some ideas from following this guide:
[GUIDE] Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life!




LilAnt530 said:


> Lol im on a G928F on cm13, pretty sure CFQ causes a bootloop, the issue was fixed slightly with entropy tweaks.

Click to collapse



It does sound strange that CFQ causes a bootloop on your device, maybe it was caused by some kernel commits merged by your kernel/ROM maintainer, or it could be some other conflicting change as you've described. Next best option is either noop or ROW which should be available on most devices. 

Saber


----------



## LilAnt530 (Feb 5, 2017)

Saber said:


> Hi,
> 
> I don't think the kernel alone is responsible for heavy battery drainage (although rarely occurs), I would suggest having a look at betterbatterystats and see what process is causing this issue. As with what @zputnyq said, try playing with your governor tunables. You may be able to get some ideas from following this guide:
> [GUIDE] Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life!
> ...

Click to collapse





Hey thanks alot for the link to that very well put together explanation of the further intricacies of how exactly its all put together! Very much appreciated man I found this thread by shot in the dark searching and you had the follow up to match. I think you're exactly correct now that I think about it if the commits and libs are from all over to bridge the gap obviously that contributes later on in the system resource management... Thanks again I actually feel like I have an idea now lol.


----------



## Haldi4803 (Feb 6, 2017)

SchedUtil -> sched-DVFS ?


----------



## LilAnt530 (Feb 7, 2017)

Haldi4803 said:


> SchedUtil -> sched-DVFS ?

Click to collapse




Dynamic Voltage & Frequency Scaling is basically all about thermals isn't it? I mean my thermals are ridiculous on this thing so im assuming its disabled lol.

Sent from my SM-G928F using XDA Labs


----------



## Saber (Feb 7, 2017)

LilAnt530 said:


> Dynamic Voltage & Frequency Scaling is basically all about thermals isn't it? I mean my thermals are ridiculous on this thing so im assuming its disabled lol.

Click to collapse



Actually, these two governors we are talking about are quite different from traditional governors which use a timer based approach for frequency scaling. Instead, it integrates the kernel scheduler utilization data for frequency scaling which could provide better battery life and responsiveness. 

These two governors are still at an early stage, but there is an increasing awareness of what they can bring in terms of benefits to mobile devices.

Saber


----------



## LilAnt530 (Feb 8, 2017)

Saber said:


> Actually, these two governors we are talking about are quite different from traditional governors which use a timer based approach for frequency scaling. Instead, it integrates the kernel scheduler utilization data for frequency scaling which could provide better battery life and responsiveness.
> These two governors are still at an early stage, but there is an increasing awareness of what they can bring in terms of benefits to mobile devices.
> 
> Saber

Click to collapse




I have heard quite a bit of interesting actually very groundbreaking things about a few Govs within the last 2 or so months, I always assumed DVFS was more of a problem than solution for battery life, but thinking about it that makes alot of sense and I'm going to research it a little more xD. This is what turns my interest towards the Kernel end of development (Plus I can deal with C, Java is pretty rough though lol). Not to mention they keep going and making each SoC a little more refined and solid each year it seems. So I really appreciate the responses! This is the most important part to learn within the Android world imho & its getting pretty hard to keep up lately ^.^

Sent from my SM-G928F using XDA Labs


----------



## dsjiffry (Feb 18, 2017)

Saber said:


> Spoiler

Click to collapse



Hey Saber could you tell me what the RQ Affinity setting does????? (io Scheduler section)

I've seen here and there some people recommend changing the value to 2. Will itt make a difference???? Also does it do so at the cost of battery life???


----------



## Iliyena (Feb 18, 2017)

dsjiffry said:


> Hey Saber could you tell me what the RQ Affinity setting does????? (io Scheduler section)
> 
> I've seen here and there some people recommend changing the value to 2. Will itt make a difference???? Also does it do so at the cost of battery life???

Click to collapse



Piece of screenshot from Kernel Adiutor included in post. 

If it's actually better can always be debated. SoC, hotplugging, I/O Sched, overhead at the current frequency because of the task and so on... But yeah, in theory it should keep resources at one place until done instead of scattering them around between cores if I understand it correctly.

Sent from my SM-G920F using XDA Labs


----------



## Saber (Feb 18, 2017)

dsjiffry said:


> Hey Saber could you tell me what the RQ Affinity setting does????? (io Scheduler section)
> 
> I've seen here and there some people recommend changing the value to 2. Will itt make a difference???? Also does it do so at the cost of battery life???

Click to collapse



The tunable is already explained in my guide for the noop scheduler. In theory, it should reduce some overhead (CPU Cycles) on I/O requests, but real world results may show little or no difference. This setting doesn't need to be touched at all as the default value is usually the best in most cases. I don't think it will adversely affect battery life if changed.  

Saber


----------



## dsjiffry (Feb 19, 2017)

Saber said:


> The tunable is already explained in my guide for the noop scheduler. In theory, it should reduce some overhead (CPU Cycles) on I/O requests, but real world results may show little or no difference. This setting doesn't need to be touched at all as the default value is usually the best in most cases. I don't think it will adversely affect battery life if changed.
> 
> Saber

Click to collapse



 So RQ affinity doesn't affect battery life????

 Well the I guess I'll change it to 2 and see what happens...... :good:


----------



## mariopoldoja (Feb 20, 2017)

dsjiffry said:


> So RQ affinity doesn't affect battery life????
> 
> Well the I guess I'll change it to 2 and see what happens...... :good:

Click to collapse




I changed it to 2 and haven't seen any changes in battery life whatsoever

Sent from my LG Nexus 5 using XDA Labs


----------



## Timmmmaaahh! (Feb 20, 2017)

This thread sucks... for people with decidophobia like me! I just read through all available governors (yes, all 109 of them) and do you know what I've learned? That I still can't decide! The horror! At least 50 of them seemed very appealing. Damn all those amazingly talented devs with all their superior kernel skills! @Saber most of all for grouping them all so nicely together. Damn yoooouuuuuu!!!....
(or simply put: thank you for creating such elaborated guide! It's a great reference.)


----------



## dsjiffry (Feb 20, 2017)

mariopoldoja said:


> I changed it to 2 and haven't seen any changes in battery life whatsoever

Click to collapse



Do you see any other changes???? Maybe increased read writes or something????


----------



## mariopoldoja (Feb 20, 2017)

dsjiffry said:


> Do you see any other changes???? Maybe increased read writes or something????

Click to collapse




Don't know... Read/write is still the same
CPU isn't doing anything strange either
Little to no effect for me

Sent from my LG Nexus 5 using XDA Labs


----------



## STORMING BLOOD17 (Feb 23, 2017)

Thank You VERY VERY MUCH


----------



## iceman0826 (Feb 24, 2017)

Timmmmaaahh said:


> This thread sucks... for people with decidophobia like me! I just read through all available governors (yes, all 109 of them) and do you know what I've learned? That I still can't decide! The horror! At least 50 of them seemed very appealing. Damn all those amazingly talented devs with all their superior kernel skills! @Saber most of all for grouping them all so nicely together. Damn yoooouuuuuu!!!....
> (or simply put: thank you for creating such elaborated guide! It's a great reference.)

Click to collapse



I know right? now, if they could combine tripndroid + bfq scheduler then I'm golden ? + interactive-performance mode governor ?

Sent from my ONEPLUS A3010 using XDA-Developers Legacy app


----------



## Timmmmaaahh! (Feb 24, 2017)

iceman0826 said:


> I know right now, if they could combine tripndroid + bfq scheduler then I'm golden  + interactive-performance mode governor
> 
> Sent from my ONEPLUS A3010 using XDA-Developers Legacy app

Click to collapse



Sure, start *COMBINING* them! As if it isn't enough choice alread.. Why not?! There's only 14 schedulers, that's too simple compared to the governor list so let's make combinations so we can expand it to a at least 196 FREAKING SCHEDULERS! You'd even combine governors too? You lunatic! This thread is hell >_<
On a more serious note, I tried zzmoove relax, which seemed great in this thread but rendered my OPO unusable (reeaaaallly slowwww, it relaxed way too much) so then I got scared of zzmoove entirely and moved on to smartmax_eps, which is giving pretty good battery results but has a tendency to heat up fast when things get a bit intense so I was going to try lightning, that sounds snappy!
But *lightning*, ladies and gentlemen, "is modified *darkness*". So okay, let's have a look at *darkness* and I see it's "based on *nightmare*" – which is what this is turning into – and in the *nightmare* description it says "*PegasusQ* modified". Heck, let's look over there as well. Then I find out that's not one but two things, *PegasusQ* and *PegasusD* and there's no way of knowing the difference. MADNESS!.. MADNESS I tell you! XD
Someone just tell me what to do, I desperately need (possibly professional) guidance. For OnePlus One, moderate use, an hour of music streaming and about 20 minutes of gaming a day. I'm on RR + Boeffla, my governors are (thank God!) limited to conservative/impulse/intelliactive/intellidemand/interactive/lionheart/nightmare/ondemand(plus)/pegasusq/performance/smartmax(_eps)/wheatley/yankactive/zzmoove.
*crawls back in his dark corner*


----------



## Iliyena (Feb 24, 2017)

Timmmmaaahh said:


> Sure, start COMBINING them! As if it isn't enough choice alread.. Why not?! There's only 14 schedulers, that's too simple compared to the governor list so let's make combinations so we can expand it to a at least 196 FREAKING SCHEDULERS! You'd even combine governors too? You lunatic! This thread is hell >_<
> On a more serious note, I tried zzmoove relax, which seemed great in this thread but rendered my OPO unusable (reeaaaallly slowwww, it relaxed way too much) so then I got scared of zzmoove entirely and moved on to smartmax_eps, which is giving pretty good battery results but has a tendency to heat up fast when things get a bit intense so I was going to try lightning, that sounds snappy!
> But lightning, ladies and gentlemen, "is modified darkness". So okay, let's have a look at darkness and I see it's "based on nightmare" – which is what this is turning into – and in the nightmare description it says "PegasusQ modified". Heck, let's look over there as well. Then I find out that's not one but two things, PegasusQ and PegasusD and there's no way of knowing the difference. MADNESS!.. MADNESS I tell you! XD
> Someone just tell me what to do, I desperately need (possibly professional) guidance. For OnePlus One, moderate use, an hour of music streaming and about 20 minutes of gaming a day. I'm on RR + Boeffla, my governors are (thank God!) limited to conservative/impulse/intelliactive/intellidemand/interactive/lionheart/nightmare/ondemand(plus)/pegasusq/performance/smartmax(_eps)/wheatley/yankactive/zzmoove.
> *crawls back in his dark corner*

Click to collapse



How about mixing the govs up between the big.Li
ITLE as well?  Some govs make things... Interesting when combined, just leavi it at: Sometimes thermal throttling is a good thing. But sometimes the big coes can be keept dormant longer if the SMALL can act a tad more aggressive. Sure a higher freq is a bit overhead, but unless the load gets put in there it's pretty ok until the higher frequencies is reached 

Whenever I try a new gov I do some testing in syntetic benchmarks (Antutu/Geekbench) and a game that likes to stutter when Touchwiz is fluid, then some deep-sleep testing, and then finish up with the most important, looking at the gov parameters.

If I cannot quite get the parameters or not set them in a way I'd like or they seems way worse then some other ones, the gov must have changed my world completely to stick around. Ended up using Bioshock for some days now, seems solid and simple to me. 

Sounds like the battery in your 1+1 might be loosing it 
The yankactive felt ok for my Galaxy S6 but could not see parameters so kept searching. Tried it?

Sent from my SM-G920F using XDA Labs


----------



## Timmmmaaahh! (Feb 24, 2017)

Iliyena said:


> Sounds like the battery in your 1+1 might be loosing it
> The yankactive felt ok for my Galaxy S6 but could not see parameters so kept searching. Tried it?

Click to collapse



My battery is losing it? why?  As if I'm not panicking enough already lol.
I'll try that one next then, I'm currently on nightmare.. seemed suitable 
It's snappy enough at first glance, time will tell. By gov parameters, do you mean this stuff?


----------



## Iliyena (Feb 24, 2017)

Timmmmaaahh said:


> My battery is losing it? why?  As if I'm not panicking enough already lol.
> I'll try that one next then, I'm currently on nightmare.. seemed suitable
> It's snappy enough at first glance, time will tell. By gov parameters, do you mean this stuff?

Click to collapse



Those are the statistics, ingeresting how good deep-sleep is. Darkness (part Nightmare) were very nice for me when using a tweak that goes by the name Skynet, but without it the deepsleep takes a hit, it keeps low the frequency low but tends to stay awake. Withput deep-sleep the phone really needs extra charge unless charging all night.

The parameters are the settings tuned in the different govs. Post four of this great thread have some examples. (Most times simply: What load during what time before bumping or chopping at the frequency used, special settings when screen off/on is another one used often, built in hotplugging is another one sometimes included)

About that battery, I did make it a pun but it's really starting to get to the limits of keeping a good charge if you never replaced it. Replacing it now makes it usable as a spare (before it gets pregnant/bloated/inflated/grows on you)
Sent from my SM-G920F using XDA Labs


----------



## Saber (Feb 24, 2017)

*The OP has been updated*

Here are the changes since yesterday:

```
25/02/17:
- Updated description on mako hotplug

24/02/17:
- Updated multi-core CPU governor selection guide as per website changes
```

I'm not 100% sure if the mako hotplug description is accurate,  however I have researched a bit more into the hotplug driver to ensure I have understood how it works. 

Have a good day! 

Saber


----------



## dsjiffry (Feb 26, 2017)

Saber said:


> Spoiler

Click to collapse



Hey Saber..... I can't seem to understand how the target loads work in the interactive governor.

I have seen some settings with just the value 99 and another one with 80 1469000:90 1721000:99.

What's the difference between these two???? How will the processor behave with each setting???? :silly:

Also is there any relation between target loads and above hispeed delay???


----------



## nexus_vl (Feb 26, 2017)

dsjiffry said:


> Hey Saber..... I can't seem to understand how the target loads work in the interactive governor.
> 
> I have seen some settings with just the value 99 and another one with 80 1469000:90 1721000:99.
> 
> ...

Click to collapse



Target loads described with the settings above means the cpu will up its frequency when load hits 80% above 1469000 it will use 90 and above 1721000 it will rise its frequency at 99% load. 
If only one value is present, say 80 it will use this load for all frequencys. 
Concerning above high speed delay: is the amount of time the cpu will wait when it reaches high speed freq to rise its frequency again


----------



## Wolfcity (Feb 27, 2017)

solar666 said:


> You might have a look here:
> https://android.googlesource.com/ke....10-lollipop-release/drivers/cpuquiet/Kconfig

Click to collapse



I have another question about cpuquit. I followed your link but can't really figure out what the different settings are for.
My kernel allows 3 settings in cpuquit: load_stats, rq_stats and runnable. Per default load_stats is set.
Can you explain in short terms what they do?
Thx for your awesome guide, it is a big help in many cases.

Sent from my Moto G 2014 using XDA Labs


----------



## MaestroCharan (Mar 2, 2017)

Hello @Saber,

Here's a request to add 'Relaxed' named governor.
It's currently in use by Lightning Kernel for OnePlus One.

Frankly, I wasn't expecting not finding it here!


----------



## kscjx (Mar 4, 2017)

Please could anyone post info on nebula governor. Can't find anything about it anywhere


----------



## marcdw (Mar 4, 2017)

kscjx said:


> Please could anyone post info on nebula governor. Can't find anything about it anywhere

Click to collapse



Never heard of that governor, just the kernel of the same name. What kernel has that governor?

LG G3 D851, OctOS Nougat ROM, MultiROM, Tapatalk 4.9.5


----------



## kscjx (Mar 4, 2017)

marcdw said:


> Never heard of that governor, just the kernel of the same name. What kernel has that governor?
> 
> LG G3 D851, OctOS Nougat ROM, MultiROM, Tapatalk 4.9.5

Click to collapse



KronicCore for the oneplus 3


----------



## zacharias.maladroit (Mar 4, 2017)

http://androidmodguide.blogspot.de/p/blog-page.html is missing CPUQUIET hotplug mechanism by Nvidia 

Thanks for the list, it helped quite a bit to decide which governors or hotplug to add ^^


----------



## Eliminater74 (Mar 4, 2017)

kscjx said:


> Please could anyone post info on nebula governor. Can't find anything about it anywhere

Click to collapse





marcdw said:


> Never heard of that governor, just the kernel of the same name. What kernel has that governor?
> 
> LG G3 D851, OctOS Nougat ROM, MultiROM, Tapatalk 4.9.5

Click to collapse





kscjx said:


> KronicCore for the oneplus 3

Click to collapse



To answer all your questions, That Gov was a port by me, It was used on my Nebula Kernel Advanced Edition on my HTC10......
I ported interactive from msm-4.4...... I couldnt very well have 2 interactives.. so I had to mod it to fit my needs..
its mostly msm 4.4 interactive with a few extra mods..................

It turns out that my users loved that Gov.. But when I went 100% EAS. I kept it out of my EAS Kernel.............
but Nebula Gov was my attempt to create a Gov based on Interactive. but uses the Performance gov headers............

To be honest, I never expected my work to make it around the android scene.. it was only intended for my personal kernels...
So, say what you want about it..  Just remember.. I didnt release it.. someone else did..


----------



## kscjx (Mar 4, 2017)

Eliminater74 said:


> To answer all your questions, That Gov was a port by me, It was used on my Nebula Kernel Advanced Edition on my HTC10......
> I ported interactive from msm-4.4...... I couldnt very well have 2 interactives.. so I had to mod it to fit my needs..
> its mostly msm 4.4 interactive with a few extra mods..................
> 
> ...

Click to collapse



Thanks a lot. That puts things in perspective. 
Edit. Grammar


----------



## yarpiin (Mar 5, 2017)

kscjx said:


> Please could anyone post info on nebula governor. Can't find anything about it anywhere

Click to collapse



Nebula- as described in Nebula Kernel - Port of Interactive from msm4.4 .

Sent from my OnePlus3 using XDA Labs

---------- Post added at 01:27 PM ---------- Previous post was at 01:23 PM ----------




Eliminater74 said:


> To answer all your questions, That Gov was a port by me, It was used on my Nebula Kernel Advanced Edition on my HTC10......
> I ported interactive from msm-4.4...... I couldnt very well have 2 interactives.. so I had to mod it to fit my needs..
> its mostly msm 4.4 interactive with a few extra mods..................
> 
> ...

Click to collapse



Sorry if it is an issue , I have pulled it from your git and added to my OnePlus 3 kernel. It is actually verry nice , works smooth no hickups , lags etc. and as we used to with interactive govs quite ballanced in therms of battery 

Sent from my OnePlus3 using XDA Labs


----------



## Saber (Mar 6, 2017)

kscjx said:


> Please could anyone post info on nebula governor. Can't find anything about it anywhere

Click to collapse





MaestroCharan said:


> Hello @Saber,
> 
> Here's a request to add 'Relaxed' named governor.
> It's currently in use by Lightning Kernel for OnePlus One.
> ...

Click to collapse



Will add them when I have time. Right now, I am busy with uni so don't have much time on XDA. 

Regards, Saber


----------



## waseemmayaa (Mar 7, 2017)

Hats off @Saber 
You saved my time.
Thanks.. Thank you so so much for this brief guide. ?


----------



## Saber (Mar 7, 2017)

*The OP has been updated*

Here are today's changes:

```
8/03/17:
- Added descriptions for Nebula and Relaxed CPU governors
```

We now have over *110* governors listed  :highfive:

Saber


----------



## krasCGQ (Mar 7, 2017)

Saber said:


> We now have over 110 governors listed :highfive:

Click to collapse



Is this a milestone? (lol)
Btw, congratulations. :highfive:

Sent from my Redmi 3 using XDA Labs


----------



## txx3 (Mar 8, 2017)

gerat thank you for sharing ...trying to find the most battery friendly setting


----------



## Saber (Mar 12, 2017)

*The OP has been updated today*

Here are the changes: 

```
12/03/17: 
- Removed some governors from recommended list
```

To be specific, I have removed conservative and powersave from the recommended list of governors. 

Conservative isn't energy efficient at all because it likes to hang on the current frequency, making it slow to scale down and thus wastes battery. 

Powersave was removed because it keeps the CPU at lowest frequency, which is not really good for normal usage cases and will have strong negative effects on performance. 

All has been done to prevent the spread of misinformation. 

Regards, Saber


----------



## ash001 (Mar 12, 2017)

How about some info about EAS ..?


----------



## Saber (Mar 12, 2017)

ash001 said:


> How about some info about EAS ..?

Click to collapse



I am planning to add EAS information to my guide. For now, only minor changes will be done to the guide (at least until I have more free time).


----------



## Iliyena (Mar 12, 2017)

Saber said:


> The OP has been updated today
> 
> Here are the changes:
> 
> ...

Click to collapse



A tweaked conservative is still possible to have good uses. Eg. if someone wants to make their gov... bioshock but only have interactive/performance/powersave/conservative and ondemand to choose from  But yeah, best to do it like this... The thread is not about tweaking but understanding and finding out the purpose of govs/shedulers/hp/gpu and their special thingies ^^

Sometimes I just read the lists again since it's fun 

Sent from my SM-G920F using XDA Labs


----------



## daltonhrrll (Mar 15, 2017)

In my opinion this is the greatest and most useful thread ever put on XDA. I've been coming back here for a while now and I always learn something new. Just wanted to say thanks and that I appreciate all the work put into this thread.


----------



## Rjhncrz (Mar 15, 2017)

Anyone here using Phronesis n7 v5.1 with Phantom 1.2c?

With a K.A Mod tweaks, 
Maximum cpu 1958mhz
Minimum          288mhz
CPU Governor Alucard
CPU Boosted ON


CPU Hotplug

Maximum Online 1,
Maximum cores 3
Maximum screen off 1

Is this a good one? Havent tested but its good, no lags


----------



## Fdraco10 (Mar 24, 2017)

Can anyone share your profiles for Kernel Adiutor?


Battery Life and Balanced between perfomance and Battery. Please.


----------



## Iliyena (Mar 24, 2017)

Fdraco10 said:


> Can anyone share your profiles for Kernel Adiutor?
> 
> 
> Battery Life and Balanced between perfomance and Battery. Please.

Click to collapse



For what SOC and what ROM is pretty important , even then it's very personal. Then there are different ways to reach the same thing depending on what usage is relevant... 

Sent from my Redmi Note 2 using XDA Labs


----------



## Fdraco10 (Mar 24, 2017)

Iliyena said:


> For what SOC and what ROM is pretty important , even then it's very personal. Then there are different ways to reach the same thing depending on what usage is relevant...
> 
> Sent from my Redmi Note 2 using XDA Labs

Click to collapse



Device: Huawei Honor 5x

ROM: AOSP EXTENDED NOUGAT 7.1.1 
KERNEL: HOT DOG KERNEL V4.0.9
SOC: QUALCOMM


----------



## devilhardcore76 (Mar 29, 2017)

good stuff:good:


----------



## gilsol (Mar 29, 2017)

devilhardcore76 said:


> good stuff:good:

Click to collapse



Not when you quote the whole thing


----------



## Saber (Mar 29, 2017)

It's been some time since the last change to the guide. 

I would like to let followers know that I have some plans on the way to improve on my guide. 

Here are some things I am considering to do (doesn't mean they will definitely happen):

```
- Revamp CPU governor guide so it is easier to find governor tweaks (possible with the use of linking) - Shouldn't be too hard
- Update recommendation guides for CPU govs and I/O schedulers so they are more informative, while also having a section for people who can't decide :) 
- Links to governor/IO source code for potential help to kernel developers - Some effort required IMO, possibly not worth doing as it is beyond the scope of this guide
- Group governor description according to their scaling behaviour (e.g. Ondemand-like, conservative-like, etc.) - Will take time, but I will see 
- Remove my sig from the guide posts - lol, I guess no-one wants to look at anime girls. This is long overdue and easy to do. 
- More that I forgot, but these are the ones that came from the top of my head
```

As always, keep the suggestions coming and I'll see if it can be done given the time-frame and effort required alongside my studies. 

Saber


----------



## Timmmmaaahh! (Mar 29, 2017)

Saber said:


> ...I have some plans on the way to improve on my guide....

Click to collapse



I don't understand how people cannot want to look at anime girls but whatever dude, ruin it!  Thanks for the upheld support. Your thread is a beacon for the entire community. You should write a book about kernels, here's a title suggestion: "Beyond the Kernel" by @Saber (leave the @ sign in the print, trust me).


----------



## trantiendat3004 (Mar 29, 2017)

Interactivex vs interactivepro have better battery life than interactive ??


----------



## Timmmmaaahh! (Mar 30, 2017)

trantiendat3004 said:


> Interactivex vs interactivepro have better battery life than interactive ??

Click to collapse



I don't believe we'd be treating this guide with the right amount of respect by just saying yes or no. It's a learning process and the guide helps us understand the pros and cons of key kernel aspects.
As you can read, "The InteractiveX governor's defining feature, however, is that it locks the CPU frequency to the user's lowest defined speed when the screen is off." and as far as Interactive Pro goes: "optimized for devices such as the One Plus One. It is a more efficient than the original Interactive because it continuously re-evaluates the load of each CPU therefore allowing the CPU to scale efficiently.". Does that mean better battery life? I believe it still depends on your usage pattern. If your screen is off more often than average, InteractiveX is probably more interesting. If you have a device similar to 1+1, the pro will be running better. I'm not sure how your device, a Galaxy S7 Edge, compares. I guess it depends on which version you have, Snapdragon or Exynos, and how those processors compare to each other.
Your best bet is setting it to Interactive, evaluate it for a day or two and move on to the next (reboot each time you change it). This trial process requires some patience but it's the best way to find the best governor for your personal use.


----------



## joelh (Apr 20, 2017)

Is anyone aware of an up-to-date kernel that includes the zen v2 i/o scheduler?


----------



## Saber (Apr 20, 2017)

animeme said:


> Is anyone aware of an up-to-date kernel that includes the zen v2 i/o scheduler?

Click to collapse



A lot of kernels already include ZenV2 even though it is not stated in their threads. Instead, you'll probably need to find a commit looking like "optimize ZEN for android devices". You'll also probably find that the version number in the source file still states "1.0", however I've seen this optimization referred a few times as "ZenV2".

Based on commits looking like this:
https://github.com/neobuddy89/hammerhead/commit/177dcfa95bee850df7a25beb8ef965c8ca86bc57


----------



## joelh (Apr 20, 2017)

Saber said:


> A lot of kernels already include ZenV2 even though it is not stated in their threads. Instead, you'll probably need to find a commit looking like "optimize ZEN for android devices". You'll also probably find that the version number in the source file still states "1.0", however I've seen this optimization referred a few times as "ZenV2".
> 
> Based on commits looking like this:
> https://github.com/neobuddy89/hammerhead/commit/177dcfa95bee850df7a25beb8ef965c8ca86bc57

Click to collapse



As complete an answer as I could've asked for. Thank you!


----------



## Revontheus (May 2, 2017)

@Saber, Hi! What governor would you recommend for Exynos 8890 Devices, or octa-core devices. The developer of the kernel I'm using atm told me Alucard is not optimized for 8890 devices, only interactive is. So I'm guessing interactive based governors?

Thanks!


----------



## Saber (May 2, 2017)

Revontheus said:


> @Saber, Hi! What governor would you recommend for Exynos 8890 Devices, or octa-core devices. The developer of the kernel I'm using atm told me Alucard is not optimized for 8890 devices, only interactive is. So I'm guessing interactive based governors?
> 
> Thanks!

Click to collapse



Generally, interactive works well with most new SOCs. Alucard is an older governor that isn't really designed for new SoCs. However, even with this info I'm giving, I'm afraid I don't own a device with the Exynos 8890 so I can't speak with any experience. 

Regards, Saber


----------



## Nick80835 (May 2, 2017)

Hey OP! I was just wondering if you could add the cultivation governor. It seems fairly new. Here's the .c file! https://github.com/Nick80835/steel-...a64u494/drivers/cpufreq/cpufreq_cultivation.c


----------



## Revontheus (May 2, 2017)

Saber, @Saber, would interactive provide better battery life compared to alucard??

Thanks alot!!


----------



## GuestK0079 (May 2, 2017)

Revontheus said:


> Saber, @Saber, would interactive provide better battery life compared to alucard??
> 
> Thanks alot!!

Click to collapse



Try them and see for yourself ? Too much ?


----------



## Saber (May 2, 2017)

Revontheus said:


> Saber, @Saber, would interactive provide better battery life compared to alucard??
> 
> Thanks alot!!

Click to collapse



Alucard is known to be battery friendly, whereas interactive is known to be a good all-round (and responsive) governor. The thing with changing governors nowadays is that SOCs have become very efficient, so it is becoming harder to see any improvements in battery life. In the past, this was a greater deal, but now whatever works fine can be tweaked for the optimal balance (there is a sweet spot as not all devices are created equally). I would suggest looking at your device forum first (as there may be some users posting out their tweaks) before looking at something like this guide.

Hope this helps, Saber


----------



## Revontheus (May 2, 2017)

Saber said:


> Alucard is known to be battery friendly, whereas interactive is known to be a good all-round (and responsive) governor. The thing with changing governors nowadays is that SOCs have become very efficient, so it is becoming harder to see any improvements in battery life. In the past, this was a greater deal, but now whatever works fine can be tweaked for the optimal balance (there is a sweet spot as not all devices are created equally). I would suggest looking at your device forum first (as there may be some users posting out their tweaks) before looking at something like this guide.
> 
> Hope this helps, Saber

Click to collapse



Thanks!

With this list of governors, _performance, powersave, userspace, ondemand, interactive, conservative, zzmoove, barry_allen, nightmare, darkness, pegasusq, yankactive intelliactive, ondemandplus, intellimm, bioshock, lionheart, smartmax, smartass2, smartmax_eps, alucard, blu_active, cafactive, electrodemand, ondemand_x, hyper and intellidemand_

Which one would you recommend, that would lean towards balanced battery life and performance aside from interactive

Thanks again!! c:


----------



## Rjhncrz (May 2, 2017)

Revontheus said:


> Thanks!
> 
> With this list of governors, performance, powersave, userspace, ondemand, interactive, conservative, zzmoove, barry_allen, nightmare, darkness, pegasusq, yankactive intelliactive, ondemandplus, intellimm, bioshock, lionheart, smartmax, smartass2, smartmax_eps, alucard, blu_active, cafactive, electrodemand, ondemand_x, hyper and intellidemand
> 
> ...

Click to collapse



I would say, zzmooves. With a lot of profiles to choose from that would suits best for your usage.


----------



## Saber (May 3, 2017)

Revontheus said:


> Thanks!
> 
> With this list of governors, _performance, powersave, userspace, ondemand, interactive, conservative, zzmoove, *barry_allen*, nightmare, darkness, pegasusq, *yankactive*, intelliactive, *ondemandplus*, intellimm, *bioshock*, lionheart, *smartmax*, smartass2, smartmax_eps, *alucard*, *blu_active*, *cafactive*, electrodemand, *ondemand_x*,* hyper* and intellidemand_
> 
> ...

Click to collapse



Governors in *bold* should behave as a balanced governor. Those that are not in bold neither satisfy this property (slightly performance-leaning also included) nor has had much use in newer devices (although I can't exactly say for sure as I don't develop kernels of new devices).

Saber


----------



## Saber (May 3, 2017)

Rjhncrz said:


> I would say, zzmooves. With a lot of profiles to choose from that would suits best for your usage.

Click to collapse



AFAIK, zzmoove doesn't play well with newer SOCs.


----------



## Nick80835 (May 3, 2017)

Saber said:


> AFAIK, zzmoove doesn't play well with newer SOCs.

Click to collapse



It plays well with some newer SOCs, maybe there's a difference between that one and this version? https://github.com/zanezam/cpufreq-governor-zzmoove?files=1


----------



## Revontheus (May 3, 2017)

Thanks Saber!


----------



## Nick80835 (May 15, 2017)

Does anyone know where I can get precognition governor to add it to my kernel? @Saber


----------



## Saber (May 15, 2017)

Nick80835 said:


> Does anyone know where I can get precognition governor to add it to my kernel? @Saber

Click to collapse



Hi there, 
now before we jump aboard, I must point out that the kernel developer who created the governor never released their source code (GPL is *GPL*, so release source) and hence was not allowed to be posted on XDA (thread OP was deleted). I don't want to quote other kernel developers or users but it was believed that the developer has made some modifications without giving credits to the original authors, but it could also very well be repackaged code as we don't know for sure. I would suggest looking into zzmoove instead (if you haven't already) as it behaves similarly. 

Regards, Saber


----------



## Nick80835 (May 15, 2017)

Saber said:


> Hi there,
> now before we jump aboard, I must point out that the kernel developer who created the governor never released their source code (GPL is GPL, so release source) and hence was not allowed to be posted on XDA (thread OP was deleted). I don't want to quote other kernel developers or users but it was believed that the developer has made some modifications without giving credits to the original authors, but it could also very well be repackaged code as we don't know for sure. I would suggest looking into zzmoove instead (if you haven't already) as it behaves similarly.
> 
> Regards, Saber

Click to collapse



Thanks, who doesn't release source?! That's a shame.. I already have zzmoove though so I guess that's okay. Thx!


----------



## uvera00 (May 18, 2017)

between zzmoove, impulse, interactive, elementalx & ondemand, which one is the best balance between battery/performance/stability?
I will try testing zzmoove for few days and see how good battery life will be while making sure it performs good


----------



## Wolfcity (May 18, 2017)

duxishere said:


> between zzmoove, impulse, interactive, elementalx & ondemand, which one is the best balance between battery/performance/stability?
> I will try testing zzmoove for few days and see how good battery life will be while making sure it performs good

Click to collapse



Imho zzmove is very flexible with a lot of tweaking options but when it comes to performance I prefer interactive. 

Sent from my Moto G 2014 using XDA Labs


----------



## hungvip2001 (May 28, 2017)

My kernel has these governors. What is the best for performance and save a little battery ?


----------



## erniesan82 (May 28, 2017)

hungvip2001 said:


> My kernel has these governors. What is the best for performance and save a little battery ?

Click to collapse



You need to test for your self buddy, remember always this when asking "what works for me might not work for you" all devices even same model react and behave differently, but the ones most common used are interactive, lionheart, interactiveX but like I said it also depends on your needs, so test it will only take time to find what suits the best for you, cheers


----------



## Saber (May 29, 2017)

*The OP has been updated*

For those who are curious, here are the changes:

```
29/05/17:
- Remove sig from main posts - Ye, about time :crying:
- Added precaution to recommended governor guide - Seen many posts already on what governors they should use
```

Stay curious, Saber


----------



## hungvip2001 (May 29, 2017)

erniesan82 said:


> You need to test for your self buddy, remember always this when asking "what works for me might not work for you" all devices even same model react and behave differently, but the ones most common used are interactive, lionheart, interactiveX but like I said it also depends on your needs, so test it will only take time to find what suits the best for you, cheers

Click to collapse



Thank you. I tested and found that interactive drains my battery, lion heart have some lag. But nightmare and Pegasusq seem good.

---------- Post added at 06:17 AM ---------- Previous post was at 05:55 AM ----------

My kernel has a governor call is hybrid. What is it ? Good for performance, battery or balance


----------



## Debystander (May 31, 2017)

Hey Saber, I'm wondering if you have any information on Lazyplug hotplug? Can't seem to find much information on it.


----------



## dsjiffry (May 31, 2017)

@Saber

Can we set target loads greater than hundred????? 

I saw it on a different site a target load settings for the interactive governor was something like

1469000:100 and 1625000:120

Can we do this or will the system not use such references????
If we can how does this work???

(It was for a mediatek processor)

Thanks in advance


----------



## Nick80835 (May 31, 2017)

dsjiffry said:


> @Saber
> 
> Can we set target loads greater than hundred?????
> 
> ...

Click to collapse



For the Nexus 6P interactive ghostpepper config it goes up to 200 on hispeed_load


----------



## godrick15 (Jun 2, 2017)

What would be the best settings for web browsing? I run multiple tabs, usually more than 10. I want snappy speed and im not too concerned with battery life, although I don't want to waste it either. I do zero gaming, but I'm a YouTube monster. Help us much appreciated. 

Running on Samsung note pro, lineage, nougat, exynos 5420, 8 core, wifi tablet.


----------



## DaveedDB (Jun 3, 2017)

godrick15 said:


> What would be the best settings for web browsing? I run multiple tabs, usually more than 10. I want snappy speed and im not too concerned with battery life, although I don't want to waste it either. I do zero gaming, but I'm a YouTube monster. Help us much appreciated.
> 
> Running on Samsung note pro, lineage, nougat, exynos 5420, 8 core, wifi tablet.

Click to collapse



Interactive should be good for you


----------



## hungvip2001 (Jun 3, 2017)

How can j change the governor automatically ? Like when screen on, it is Performance and powersave when turn off the screen.


----------



## 2phazt (Jun 3, 2017)

hungvip2001 said:


> How can j change the governor automatically ? Like when screen on, it is Performance and powersave when turn off the screen.

Click to collapse



This could be achieved with different profiles and an app like tasker.

But lots of governors do have different behaviours in the different states.


----------



## DB126 (Jun 3, 2017)

hungvip2001 said:


> How can j change the governor automatically ? Like when screen on, it is Performance and powersave when turn off the screen.

Click to collapse



Really little need for this unless vacillating between extreme tunings as most modern govonors idle quite efficiently.


----------



## Oswald Boelcke (Jun 3, 2017)

hungvip2001 said:


> How can j change the governor automatically ? Like when screen on, it is Performance and powersave when turn off the screen.

Click to collapse



You didn't tell us anything about your system especially the kernel you're using. But you double-posted also in the Kernel Adiutor thread; I won't comment on that as I'm not a moderator.
I just stick with that what @2phazt and @_Davey126_ said.


----------



## fliperpl (Jun 6, 2017)

hey guys!

I have a moto x style with lineageOS 14.1, android 7.1.2 
it has Snapdragon 808 with : 
4x1.44ghz  "little"
2x1.84 "big"
and also 3gb RAM, 1440p screen, adreno 418
I am searching for a settings that will make my phone fast with not huge of battery drain
lets say that 70% is going for performance and 30% for battery

 I can change  :
CPU govenor -> little and big
: zzmove,wheatley,impulse,elementalx,interactive,conservative,ondemand,powersave,intelliactive,despair,chill,blu_active,bioshock,lionheart,performance
CPU hotplug
lazyplug, msm hotplug, bricked hotplug

for now i am using bricked hotplug,big and little interactive, is that fine?


----------



## zputnyq (Jun 7, 2017)

fliperpl said:


> hey guys!
> 
> I have a moto x style with lineageOS 14.1, android 7.1.2
> it has Snapdragon 808 with :
> ...

Click to collapse



Easiest way is using (Mod) Governor Tuner or L Speed app. It doesn't need to setup some values but only choosing option provided there

Sent from my Acer Liquid Z205 using XDA Labs


----------



## fliperpl (Jun 7, 2017)

zputnyq said:


> Easiest way is using (Mod) Governor Tuner or L Speed app. It doesn't need to setup some values but only choosing option provided there
> 
> Sent from my Acer Liquid Z205 using XDA Labs

Click to collapse



Is app called "root boosted" fine?
I am using extreme stability mode from here and it is working fine i think


----------



## zputnyq (Jun 7, 2017)

fliperpl said:


> Is app called "root boosted" fine?
> I am using extreme stability mode from here and it is working fine i think

Click to collapse



I am not sure about it, but some people & devs said that root booster could block an app that works on boot.

Sent from my Acer Liquid Z205 using XDA Labs


----------



## fliperpl (Jun 7, 2017)

zputnyq said:


> I am not sure about it, but some people & devs said that root booster could block an app that works on boot.
> 
> Sent from my Acer Liquid Z205 using XDA Labs

Click to collapse



ye some apps are hibernated, but mostly are working fine

for example standard fb messanger and facebook app was blocked, but with slimsocial and messanger lite everything works fine
other apps like snapchat, bluemail, instagram and working too.


----------



## enerGy (Jun 8, 2017)

Hey guys, first off great thread best thing Ive come across in a long while worth reading @Saber bro. Secondly I'm currently creating profiles for a friends kernel and I use the most obvious Interactive and Ondemand Gov's for the profiles but could or would you's recommend a better profile for a battery setup, balanced setup and performance setup? Appreciate any suggestions or recommendations :good:


----------



## zputnyq (Jun 9, 2017)

Nameless said:


> Hey guys, first off great thread best thing Ive come across in a long while worth reading @Saber bro. Secondly I'm currently creating profiles for a friends kernel and I use the most obvious Interactive and Ondemand Gov's for the profiles but could or would you's recommend a better profile for a battery setup, balanced setup and performance setup? Appreciate any suggestions or recommendations :good:

Click to collapse



Give (mod) governor tuner  or app named L Speed a try.
It has already contained profile u mentioned 

Sent from my Acer Liquid Z205 using XDA Labs


----------



## putti71 (Jun 9, 2017)

Nameless said:


> Hey guys, first off great thread best thing Ive come across in a long while worth reading @Saber bro. Secondly I'm currently creating profiles for a friends kernel and I use the most obvious Interactive and Ondemand Gov's for the profiles but could or would you's recommend a better profile for a battery setup, balanced setup and performance setup? Appreciate any suggestions or recommendations :good:

Click to collapse



Preservative for battery and yankactive can be good for balance profile

Sent from my SM-G930F using XDA-Developers Legacy app


----------



## dsjiffry (Jun 13, 2017)

@Saber

Hi Saber,

I just wanted to know about some Virtual memory settings mainly dirty ratio and dirty background ratio.

I did some reading and discovered that some devs. Suggest large values like 70 and 90. While some recommend values like 40 and 10. 
Whereas Google's stock values are 20 and 5. 


What I need to know is how these values impact multitasking........ Do large values mean less memory for apps???? 

Or is it the other way around like in vfs_cache_pressure where large values mean more memory for apps???


----------



## Saber (Jun 13, 2017)

dsjiffry said:


> @Saber
> 
> Hi Saber,
> 
> ...

Click to collapse



Hi, 

VM tweaks are beyond what this guide can cover (and frankly, I don't think there's enough room for more guides in this thread). 

vfs_cache_pressure, dirty ratios and background_ratios don't really have to be touched as the default values are "good enough" for all usage cases. If you want "better" multitasking, I would focus more on ZRAM and swappiness values (speaking from experience on low-ram devices). However, this isn't an area of my expertise (even though I used to maintain kernels) 

Edit: Maybe try some kernel modifying apps like L speed. I'm usually against these kind of apps unless it is the only app you are using to tweak your kernel (conflicts with installed custom kernel tweaks, etc).


----------



## jlb1959.01 (Jun 13, 2017)

great thread!!..


----------



## rohitdave (Jun 13, 2017)

Amazing


----------



## razibrizal (Jun 24, 2017)

Which one is better, bfq 128kb or noop 512kb?


----------



## guest4711 (Jun 24, 2017)

razibrizal said:


> Which one is better, bfq 128kb or noop 512kb?

Click to collapse



It depends on your usage and your preferences... What do you mean by using 'better': More power or more battery life? Reliable or fast connections? ... There are no good or bad govenors, but some suit your needs better than others.


----------



## razibrizal (Jun 24, 2017)

guest4711 said:


> It depends on your usage and your preferences... What do you mean by using 'better': More power or more battery life? Reliable or fast connections? ... There are no good or bad govenors, but some suit your needs better than others.

Click to collapse



Im prefer battery for daily usage, im not gamer anyway


----------



## Saber (Jun 24, 2017)

razibrizal said:


> Which one is better, bfq 128kb or noop 512kb?

Click to collapse



Noop 512KB, but we really shouldn't be comparing different schedulers with different values for read-ahead as results in read/write speeds *may* differ. 

Follow the guide *carefully* to get a good *start*, then tweak or adjust to your liking to get the desired result


----------



## Saber (Jun 24, 2017)

razibrizal said:


> Im prefer battery for daily usage, im not gamer anyway

Click to collapse



Well, you are looking this in the wrong way. Schedulers shouldn't have a noticeable impact in battery, only read/write operations and transactions which as a result will impact responsiveness (although not so noticeable in modern devices), file transfers and general UI usage.

Some quick picks include: 
- CFQ
- Deadline 
- Noop
- ROW

All with their strengths and weaknesses, but there is no "perfect" scheduler in the real world.


----------



## razibrizal (Jun 24, 2017)

Saber said:


> Well, you are looking this in the wrong way. Schedulers shouldn't have a noticeable impact in battery, only read/write operations and transactions which as a result will impact responsiveness (although not so noticeable in modern devices), file transfers and general UI usage.
> 
> Some quick picks include:
> - CFQ
> ...

Click to collapse



Thx for the explaination


----------



## aocboe (Jun 25, 2017)

razibrizal said:


> Which one is better, bfq 128kb or noop 512kb?

Click to collapse



arter97 said,“CFQ is the fastest I/O Scheduler available on the 3.18 kernel.”

Believe me, CFQ is really great on the 3.18 kernel.If my brain doesn't go wrong, you're using mi 5, and mi 5 uses the 3.18 kernel


----------



## jlb1959.01 (Jun 25, 2017)

to each their own,like said in previous statement by moderator,I use zen,and it preforms great...


----------



## Saber (Jun 25, 2017)

aocboe said:


> arter97 said,“CFQ is the fastest I/O Scheduler available on the 3.18 kernel.”
> 
> Believe me, CFQ is really great on the 3.18 kernel.If my brain doesn't go wrong, you're using mi 5, and mi 5 uses the 3.18 kernel

Click to collapse



Depends on what way "fastest" is interpreted. CFQ has received many SSD optimizations and it usually performs best in real world throughput tests. But throughput isn't the only factor to consider when in comes to scheduling.  

As you may have seen from my posts, I favour simpler schedulers that may try to improve latency sensitive workloads which has some real benefits to the android world. Again, this has some drawbacks. 

But what I want people to take away is that benchmarks alone isn't a good way to compare schedulers. However, my assumption is that the kernel developer/maintainer knows what they are doing and that there is a good reason why they have chosen something as a default


----------



## jlb1959.01 (Jun 25, 2017)

@Saber,very true......


----------



## DB126 (Jun 26, 2017)

Saber said:


> But what I want people to take away is that benchmarks alone isn't a good way to compare schedulers. However, my assumption is that the kernel developer/maintainer knows what they are doing and that there is a good reason why they have chosen something as a default

Click to collapse



Extensible to governors, read-ahead, seeding and many dozens of other popular tweaks. Clearly there are unique circumstances where a specific configuration yields 'optimal' outcomes. Problem is most folks do not know how to assess that (qualitatively or quantatively) so either blindly depend on others recommendations (usually derived on dissimilar hardware and/or test conditions) or simply look at one element and declare nervana when the needle moves. When in doubt stick with the defaults.


----------



## Iliyena (Jun 26, 2017)

Davey126 said:


> Extensible, governors, read-ahead, seeding and many dozens of other popular tweaks. Clearly there are unique circumstances where a specific configuration yields 'optimal' outcomes. Problem is most folks do not know how to assess that (qualitatively or quantatively) so either blindly depend on others recommendations (usually derived on dissimilar hardware and/or test conditions) or simply look at one element and declare nervana when the needle moves. When in doubt stick with the defaults.

Click to collapse



Or test away without fear! Numbers and the feeling of improvement/placebo by feeling in control is a great steppingstone to find real knowledge  I really annot measure or feel some things I do, but I still want them set by me. :S

Sent from my Redmi Note 2 using XDA Labs


----------



## DB126 (Jun 27, 2017)

Iliyena said:


> Or test away without fear! Numbers and the feeling of improvement/placebo by feeling in control is a great steppingstone to find real knowledge  I really annot measure or feel some things I do, but I still want them set by me. :S

Click to collapse



Yep - fully agree with retaining total control and the deep satisfaction of learning through experimentation and failure. Things get dicey when single data point successes are enthustically promoted without full disclosure of how results were obtained, measured and validated. We are all entitled to the varied (and often unjustified) little tweaks that personalize our electronic gizmos provided the path out of deep doo-doo is both understood and executable.


----------



## razibrizal (Jun 28, 2017)

Can someone give me explanation about this tunable schedutil governor

Down_rate_limit_us
Up_rate_limit_us and
Iowait_boost_enable


----------



## Saber (Jun 28, 2017)

razibrizal said:


> Can someone give me explanation about this tunable schedutil governor
> 
> Down_rate_limit_us
> Up_rate_limit_us and
> Iowait_boost_enable

Click to collapse



Here is an extract from the kernel commit message:


> It would be very useful if we can set low rate-limit while increasing
> the frequency (so that we can respond to the short busy periods quickly)
> and high rate-limit while decreasing frequency (so that we don't reduce
> the frequency immediately after the short busy period and that may avoid
> ...

Click to collapse



Note that the tunable is measured in us (microseconds). 

More info

As for  iowait_boost_enable:


> By default initialize it to the (CPU) policy value. For systems that don't need/want it enabled, such as those on arm64 based mobile devices that are battery operated, it saves energy when the cpufreq driver policy doesn't have it enabled

Click to collapse



In short, a boolean that really shouldn't be touched as it will follow the cpufreq policy settings. 

More info


----------



## LolHacker17 (Jul 3, 2017)

right now wht is the best governor n io for balance perfomance n battery?


----------



## GuestK0079 (Jul 3, 2017)

LolHacker17 said:


> balance perfomance n battery?

Click to collapse



Anything else ?


----------



## Saber (Jul 3, 2017)

LolHacker17 said:


> right now wht is the best governor n io for balance perfomance n battery?

Click to collapse



I suggest reading back a few pages as this question has been asked several times already in the thread. As for the short answer, Interactive is generally seen as the best choice for a majority of devices. If you've had bad experiences with it, experiment with other governors.


----------



## Haldi4803 (Jul 3, 2017)

or tweak interactive governor settings.
As interactive is not the same as interactive at all, depending on settings.


----------



## ggelo10 (Jul 12, 2017)

hi
which hotplugdriver for sd820 lg g5? balanced - battery set, andr 7.1.2? autosmp?
greetings


----------



## Saber (Jul 15, 2017)

Hi guys, 

So I've spent a couple of hours working on the guide and here is what I was able to come up with:


```
15/07/17:
- Removed "what to look out for" sections
- Removed kernel app recommendations
- Removed governor classifications
- Removed generic looking IO sched and TCP alg comparisons - Non-realistic and variable, YMMV
- Made the CPU hotplug guide simpler and easier to read. Updated with better recommendations
- Moved zzmoove profile number info into CPU gov tunable section
- Added a new summary section under all CPU governors to help give a basic comparison between governors - Don't take these indicators as your only deciding factor, ask around as well before using!
```

You'll notice there are a lot of deletions as well as additions! Why remove some of the info you might ask? Well I've decided that some of the info were redundant or was never mentioned later on in the guide or were plain useless! 

Looking into the bright side of things, I've added a new summary sections under all CPU governors :highfive: Please note that these indicators are not final (if anyone objects with what has been present, PM me), and also please don't use these as your *only* deciding factor. Look around XDA, ask in your relevent device forum, research (hell yeah). 

Edit: For those wondering how I was able to come up with so many summaries, if the governor was based on some well known governor (let's say interactive), it's behaviour will not be that significantly changed so it should have similar summaries. 

Meanwhile, if the governor is completely unique, and if I don't really know how it behaves, I just followed it's description having full trust on the developers and their kernel users. 

There are downsides to this like over generalisation (and sometimes inaccuracies) which reiterates the point that the guide will never be at it's final form.

Have a good read, Saber 









Knowledge is power


----------



## jlb1959.01 (Jul 15, 2017)

Saber said:


> Hi guys,
> 
> So I've spent a couple of hours working on the guide and here is what I was able to come up with:
> 
> ...

Click to collapse



@Saber great job....


----------



## Haldi4803 (Jul 15, 2017)

i still think you should remove 101. sched-DVFS and add an own EAS section for sched, schedutil, alucardsched and darknessched.
Except the Pixel using EAS on Stock there are more and more EAS Kernel around for Devices Like HTC10, OP3 and Axon 7.


----------



## Saber (Jul 15, 2017)

Haldi4803 said:


> i still think you should remove 101. sched-DVFS and add an own EAS section for sched, schedutil, alucardsched and darknessched.
> Except the Pixel using EAS on Stock there are more and more EAS Kernel around for Devices Like HTC10, OP3 and Axon 7.

Click to collapse



Will do. 

Interestingly, I've hit the character limit for the second post limiting any room for expansion. I've planned for a cleanup throughout my guide where I will then be able to add new info in the future.


----------



## Adzkii (Jul 18, 2017)

zzmoove, can anyone recommend me a hotplug and i/o scheduler with this governor

Sent from my S4 Mini using XDA Labs


----------



## Saber (Jul 19, 2017)

Adzkii said:


> zzmoove, can anyone recommend me a hotplug and i/o scheduler with this governor

Click to collapse



Hotplug: zzmoove native or a hotplug of your own choice (use only one, don't use them together)
I/O sched: ZEN or Noop


----------



## mfajribk (Jul 19, 2017)

do you think better interactive or darkness (ondemand base) for battery?


----------



## Saber (Jul 20, 2017)

mfajribk said:


> do you think better interactive or darkness (ondemand base) for battery?

Click to collapse



Darkness is actually based on Nightmare which is a modified variant of PegasusQ. It may perform a bit better for battery, but if you've have a Snapdragon SOC, you're better off with interactive.


----------



## mfajribk (Jul 20, 2017)

Saber said:


> Darkness is actually based on Nightmare which is a modified variant of PegasusQ. It may perform a bit better for battery, but if you've have a Snapdragon SOC, you're better off with interactive.

Click to collapse



thanks, yep sd820 so i'll go interactive then.


----------



## realista87 (Jul 24, 2017)

hi, i read your guide about the read ahead values.....
i don't understand why all the custom modders of rom and kernels continue to use  a low value like 128kb etc.... when in the ghude is clear that everyone should ose at least 2048kb value because most phones not are with 32  or 64gb of rom.

maybe, developers set 128kn FOR A PRECISE reason what i don't understand?


----------



## DB126 (Jul 24, 2017)

realista87 said:


> hi, i read your guide about the read ahead values.....
> i don't understand why all the custom modders of rom and kernels continue to use a low value like 128kb etc.... when in the ghude is clear that everyone should ose at least 2048kb value because most phones not are with 32 or 64gb of rom.
> 
> maybe, developers set 128kn FOR A PRECISE reason what i don't understand?

Click to collapse



The vast majority of read/writes to the system partition are small files. Such operations are hampered by large read-ahead values. A bit of benchmarking will likely surface which compromise value works best with your device and workflows. Total device storage is largely irrelevant - although it does lead to retaining larger files accessed sequentially that benefit from larger read ahead values (eg: games, video). Then again, when was the last time you had an *onboard* movie stutter/lag? One file vs the many thousands that the system needs to access during routine operations. Games are a different beast; highly optimized device tuning is essential for the best performance.

tl;dr: 128-256KB read-ahead typically yields the best system performance; app portfolio and device characteristics (eg: eMMC speed) determine if higher values are beneficial.


----------



## aryaazimi72 (Jul 29, 2017)

Hey Saber!!! 
Thanks for This amazing Guide and all your Hard Work to make this Complete Reference! 
I have a Suggestion , To add Details About The New TCP algorithms which are commonly used on new kernels (at least on my devices , Galaxy S7 , S8 ...)
These are known as MultiPath TCP and examples are: LIA (Linked Increase Algorithm) , OLIA (Opportunistic Linked Increase Algorithm) , BaLIA (Balanced Linked Increase Algorithm) , wVegas....
Thank You!!


----------



## TheRock40359 (Aug 10, 2017)

I am currently on Westwood.   I live in area that's low signal.  So my speeds tend to vary a lot.   Usually have right at 112 dB or 110 dB at 4g.  Would switching tcp to cubic make a difference?


----------



## Saber (Aug 10, 2017)

TheRock40359 said:


> I am currently on Westwood. I live in area that's low signal. So my speeds tend to vary a lot. Usually have right at 112 dB or 110 dB at 4g. Would switching tcp to cubic make a difference?

Click to collapse



Using TCP algorithm to boost throughput is not the best way of selecting an algorithm as it is a case of YMMV. You should think in terms of the fairness and the efficiency of the algorithm, where TCP Westwood/Westwood+ and TCP Cubic are generally well regarded at. 

Try anyway and see if it helps.

Regards, Saber


----------



## Harshad121 (Aug 14, 2017)

Thanks for the amazing guide it was really helpful for noobs like me to have a good start.


----------



## ThakurVartik (Aug 14, 2017)

Bro which seeting should i use for best signals


----------



## Wolfcity (Aug 14, 2017)

ThakurVartik said:


> Bro which seeting should i use for best signals

Click to collapse



Signals? Where is the connection between kernel tweaks and some sort of signals?

Sent from my Moto G 2014 using XDA Labs


----------



## Tech0308 (Aug 14, 2017)

Wolfcity said:


> Signals? Where is the connection between kernel tweaks and some sort of signals?

Click to collapse



The TCP choices


----------



## Wolfcity (Aug 14, 2017)

Just read what @Saber wrote right above your post:



Saber said:


> Using TCP algorithm to boost throughput is not the best way of selecting an algorithm as it is a case of YMMV. You should think in terms of the fairness and the efficiency of the algorithm, where TCP Westwood/Westwood+ and TCP Cubic are generally well regarded at.
> 
> Try anyway and see if it helps.
> 
> Regards, Saber

Click to collapse




Sent from my Moto G 2014 using XDA Labs


----------



## mfajribk (Aug 16, 2017)

sir, which better for battery and balance? interactive or schedutil?


----------



## Wolfcity (Aug 16, 2017)

mfajribk said:


> sir, which better for battery and balance? interactive or schedutil?

Click to collapse



Interactive is always a good choice imho.

Sent from my Moto G 2014 using XDA Labs


----------



## guest4711 (Aug 16, 2017)

mfajribk said:


> sir, which better for battery and balance? interactive or schedutil?

Click to collapse



Conservative for me  It gives more SOT without to much lags.


----------



## mfajribk (Aug 16, 2017)

guest4711 said:


> Conservative for me  It gives more SOT without to much lags.

Click to collapse



How much get with how long standby?

---------- Post added at 01:47 PM ---------- Previous post was at 01:46 PM ----------




Wolfcity said:


> Interactive is always a good choice imho.

Click to collapse



Have you try eas?


----------



## Wolfcity (Aug 16, 2017)

mfajribk said:


> How much get with how long standby?
> 
> ---------- Post added at 01:47 PM ---------- Previous post was at 01:46 PM ----------
> 
> ...

Click to collapse



No. Your battery drain and your standby time depends a lot on your device, rom and your usage.
If you play games all the time you're good to go with performance, if you only check your mails and browse a bit ondemand or conservative is ok.
You have to check that by yourself, there's no setup that fits all users and devices.

Sent from my Moto G 2014 using XDA Labs


----------



## ART (Aug 19, 2017)

Which governor is better for battery life? Conservative or interactive ? I'm on a 6p (snapdragon 810)


----------



## Iliyena (Aug 19, 2017)

Abraham Rohit Thomas said:


> Which governor is better for battery life? Conservative or interactive ? I'm on a 6p (snapdragon 810)

Click to collapse



As always... depends. Do you game? Underclock? I want to say interactive and direct you here: https://forum.xda-developers.com/nexus-5x/general/guide-advanced-interactive-governor-t3269557 , there is probably a more 6P centric thread a well (mostly N5X in this one).

Sent from my Redmi Note 2 using XDA Labs


----------



## ART (Aug 19, 2017)

Iliyena said:


> As always... depends. Do you game? Underclock? I want to say interactive and direct you here: https://forum.xda-developers.com/nexus-5x/general/guide-advanced-interactive-governor-t3269557 , there is probably a more 6P centric thread a well (mostly N5X in this one).

Click to collapse



I've been there, and I've used Loki profile on ElementalX , excellent profile for battery and stability. 

Now I'm on Franco, and the default is interactive governor. I don't game, use chrome , Google plus, Reddit, xda. So I want battery life. So I was wondering if conservative is better than interactive


----------



## Saber (Aug 19, 2017)

Abraham Rohit Thomas said:


> I've been there, and I've used Loki profile on ElementalX , excellent profile for battery and stability.
> 
> Now I'm on Franco, and the default is interactive governor. I don't game, use chrome , Google plus, Reddit, xda. So I want battery life. So I was wondering if conservative is better than interactive

Click to collapse



In most general applications, interactive will be the better performer in terms of performance and battery. It scales more efficiently compared to conservative and is very stable on most devices. Conservative is known for scaling inefficiently thus wasting power.


----------



## ART (Aug 19, 2017)

Saber said:


> In most general applications, interactive will be the better performer in terms of performance and battery. It scales more efficiently compared to conservative and is very stable on most devices. Conservative is known for scaling inefficiently thus wasting power.

Click to collapse



Really ? I thought conservative would have been better for battery since it usually stays at a low frequency, and reluctant to scale up. Didn't realize that it's reluctance is actually worse for battery


----------



## Iliyena (Aug 19, 2017)

Abraham Rohit Thomas said:


> I've been there, and I've used Loki profile on ElementalX , excellent profile for battery and stability.
> 
> Now I'm on Franco, and the default is interactive governor. I don't game, use chrome , Google plus, Reddit, xda. So I want battery life. So I was wondering if conservative is better than interactive

Click to collapse



Then you are set  Kill of some of the  performance cores might help even more, making the SD810 into a SD808 I think you will get more SoT without any noticable drop in day to day performance. Heck, use that fix against bootloops that turns of all performance cores off on N5X and N6P, 4 of those A53 cores at a little higher freq get things done.

The conservative gov should help some, but at the same time you will just be spending those extra minutes watching all things take a little longer to happen. Unless you tweak the settings of the conservative gov it should be helpless against a tweaked interactive imo.

Sent from my Redmi Note 2 using XDA Labs


----------



## Saber (Aug 19, 2017)

Abraham Rohit Thomas said:


> Really ? I thought conservative would have been better for battery since it usually stays at a low frequency, and reluctant to scale up. Didn't realize that it's reluctance is actually worse for battery

Click to collapse



Actually, if it is reluctant to scale up, it most probably will introduce latency and thus more CPU time is needed. Interactive is better designed for mobile devices and puts 'interactiveness' as a priority. You probably could get better results by downclocking and using interactive instead.


----------



## ART (Aug 19, 2017)

Iliyena said:


> Then you are set  Kill of some of the performance cores might help even more, making the SD810 into a SD808 I think you will get more SoT without any noticable drop in day to day performance. Heck, use that fix against bootloops that turns of all performance cores off on N5X and N6P, 4 of those A53 cores at a little higher freq get things done.
> 
> The conservative gov should help some, but at the same time you will just be spending those extra minutes watching all things take a little longer to happen. Unless you tweak the settings of the conservative gov it should be helpless against a tweaked interactive imo.

Click to collapse



I thought the bootloop fix resulted in a usable phone, but at a significant drop in performance.

---------- Post added at 07:23 AM ---------- Previous post was at 07:22 AM ----------




Saber said:


> Actually, if it is reluctant to scale up, it most probably will introduce latency and thus more CPU time is needed. Interactive is better designed for mobile devices and puts 'interactiveness' as a priority. You probably could get better results by downclocking and using interactive instead.

Click to collapse



It may have introduced more latency, but it wasn't noticeable since I put all animations at 0.8x.

Franco has optimized his kernel perfectly, I don't feel the need to change anything, except for the governors (he uses interactive as default)


----------



## Iliyena (Aug 19, 2017)

Abraham Rohit Thomas said:


> I thought the bootloop fix resulted in a usable phone, but at a significant drop in performance.
> 
> ---------- Post added at 07:23 AM ---------- Previous post was at 07:22 AM ----------
> 
> ...

Click to collapse



You don't game  Try it out and let the world know how it feels and performs?! (Compare your choice to the necessity of others) =)

Sent from my Redmi Note 2 using XDA Labs


----------



## ART (Aug 19, 2017)

Iliyena said:


> You don't game  Try it out and let the world know how it feels and performs?! (Compare your choice to the necessity of others) =)

Click to collapse



That I will do. I've already tried conservative for a day, now I'm on interactive till tomorrow. ?


----------



## davidk21770 (Aug 19, 2017)

Abraham Rohit Thomas said:


> Really ? I thought conservative would have been better for battery since it usually stays at a low frequency, and reluctant to scale up. Didn't realize that it's reluctance is actually worse for battery

Click to collapse



That was my experience on 2 Samsung devices. More responsive and better battery.


----------



## prajnay (Aug 19, 2017)

What are the benefits of EAS ?


----------



## DB126 (Aug 19, 2017)

Saber said:


> Actually, if it is reluctant to scale up, it most probably will introduce latency and thus more CPU time is needed. Interactive is better designed for mobile devices and puts 'interactiveness' as a priority. You probably could get better results by downclocking and using interactive instead.

Click to collapse



To emphasize @Sabre's point the correlation between average CPU frequency and the power consumed to perform a defined task is far from "1" and often surprisingly close to zero when CPU frequencies are artifically constrained on modern hardware. Beyond that, governor selection/tuning has a relatively small impact on battery endurance unless other large/larger power consumers (eg: panel brightness; radios, etc) have been fully optimized.


----------



## Haldi4803 (Aug 20, 2017)

prajnay said:


> What are the benefits of EAS ?

Click to collapse



Mainly better performance and less Lag.


----------



## Saber (Aug 20, 2017)

prajnay said:


> What are the benefits of EAS ?

Click to collapse





Haldi4803 said:


> Mainly better performance and less Lag.

Click to collapse



^Possibly this 

It however more accurately should provide better CPU frequency scaling by having a closer integration to the kernel's scheduler. I've provided a short summary in the description of schedutil.


----------



## koyo (Aug 20, 2017)

Hey. I looked up things about Android and why it's UI lags so much. I once stumbled upon a topic that said this was the fault of the CPU governor, as it was the frequency jumps that caused this and not anything inherent. Said poster then proceeded to provide profile GPU pics of stuttering between a locked CPU frequency and one that uses the governor, and it indeed displayed less dropped frames (iirc, when the graph shoots past the green line, it means frames have been dropped). Is this just some placebo effect? Should I be using the performance governor if I want smooth UI since it locks the frequency?


----------



## DB126 (Aug 20, 2017)

koyo said:


> Hey. I looked up things about Android and why it's UI lags so much. I once stumbled upon a topic that said this was the fault of the CPU governor, as it was the frequency jumps that caused this and not anything inherent. Said poster then proceeded to provide profile GPU pics of stuttering between a locked CPU frequency and one that uses the governor, and it indeed displayed less dropped frames (iirc, when the graph shoots past the green line, it means frames have been dropped). Is this just some placebo effect? Should I be using the performance governor if I want smooth UI since it locks the frequency?

Click to collapse



Highly device, kernel and workload dependent. Take those findings with a grain  of salt unless using the same hardware running an identical kernel and ROM (less important) with a similar suite of background activity/apps.


----------



## ART (Aug 20, 2017)

koyo said:


> Hey. I looked up things about Android and why it's UI lags so much. I once stumbled upon a topic that said this was the fault of the CPU governor, as it was the frequency jumps that caused this and not anything inherent. Said poster then proceeded to provide profile GPU pics of stuttering between a locked CPU frequency and one that uses the governor, and it indeed displayed less dropped frames (iirc, when the graph shoots past the green line, it means frames have been dropped). Is this just some placebo effect? Should I be using the performance governor if I want smooth UI since it locks the frequency?

Click to collapse



You could get that smooth ui with no lag even with an interactive governor, but with the added benefit of better battery life.


----------



## buffer overflow (Aug 20, 2017)

koyo said:


> Hey. I looked up things about Android and why it's UI lags so much. I once stumbled upon a topic that said this was the fault of the CPU governor, as it was the frequency jumps that caused this and not anything inherent. Said poster then proceeded to provide profile GPU pics of stuttering between a locked CPU frequency and one that uses the governor, and it indeed displayed less dropped frames (iirc, when the graph shoots past the green line, it means frames have been dropped). Is this just some placebo effect? Should I be using the performance governor if I want smooth UI since it locks the frequency?

Click to collapse



Let Interactive gov and try Noop or Zen scheduler if you want a smooth UI.

Sent from my bullhead using XDA Labs


----------



## Haldi4803 (Aug 20, 2017)

koyo said:


> Hey. I looked up things about Android and why it's UI lags so much. I once stumbled upon a topic that said this was the fault of the CPU governor, as it was the frequency jumps that caused this and not anything inherent. Said poster then proceeded to provide profile GPU pics of stuttering between a locked CPU frequency and one that uses the governor, and it indeed displayed less dropped frames (iirc, when the graph shoots past the green line, it means frames have been dropped). Is this just some placebo effect? Should I be using the performance governor if I want smooth UI since it locks the frequency?

Click to collapse



might have been true 3-5 years ago.
Nowadays most Devices have a "TouchBoost" function which Boosts CPU clock to a certain frequency whenever Screen is touched so input lag is widely reduced.

Also Pixel and few modern devices with Custom Kernel use EAS, Energy Aware Scheduling reacts way faster than a common governor. UI Lag is almost nonexistent in most EAS Kernels.


----------



## Iliyena (Aug 20, 2017)

Haldi4803 said:


> might have been true 3-5 years ago.
> Nowadays most Devices have a "TouchBoost" function which Boosts CPU clock to a certain frequency whenever Screen is touched so input lag is widely reduced.
> 
> Also Pixel and few modern devices with Custom Kernel use EAS, Energy Aware Scheduling reacts way faster than a common governor. UI Lag is almost nonexistent in most EAS Kernels.

Click to collapse



Ohh... Those awful touchboosts, want to change how they work on every device I've had them... Find it weird that devs of custom kernels don't tend to let me either 

Sent from my Redmi Note 2 using XDA Labs


----------



## ART (Aug 21, 2017)

Iliyena said:


> Ohh... Those awful touchboosts, want to change how they work on every device I've had them... Find it weird that devs of custom kernels don't tend to let me either

Click to collapse



Franco doesn't allow you to , but he disables it by default. He knows what's best.


----------



## jamu08 (Aug 21, 2017)

Hi1 Saber....I am using S2 i9100 with slimsaber 4.4.4 installed. Which governer and I/o scheduler u recommend? I have tried using interactive but experience is not so good. However, by using zzmove I got gives good result. Should I stick to zzmove or move to other governer??


----------



## ART (Aug 21, 2017)

What does audio high performance mode do, and does it have a negative impact on battery life?


----------



## hawkdown77 (Aug 22, 2017)

Abraham Rohit Thomas said:


> What does audio high performance mode do, and does it have a negative impact on battery life?

Click to collapse



Hi, which ROM are u using?


----------



## ART (Aug 22, 2017)

hawkdown77 said:


> Hi, which ROM are u using?

Click to collapse



Carbon Rom, with Franco kernel


----------



## akama1 (Aug 22, 2017)

Hi.... I'm on oneplus 2 using halogen os with its default kernel. Are there any specific interactive governor tweaks to make that can improve the battery life? 

Sent from my ONE A2003 using XDA-Developers Legacy app


----------



## buffer overflow (Aug 22, 2017)

Abraham Rohit Thomas said:


> What does audio high performance mode do, and does it have a negative impact on battery life?

Click to collapse



Copy/paste from XDA; "High performance mode increases the audio processor to it's max performance. It overall should make audio sound better and run smoother but may use a little bit more power. It does make a difference, start playing music with earphones or earbuds and toggle it on and off and you should notice a difference. If not then PowerAmp may have some other functions that don't use the audio processor."
Btw, is ok Carbon ? Generally speaking. 
Sent from my bullhead using XDA Labs


----------



## ART (Aug 22, 2017)

buffer overflow said:


> Copy/paste from XDA; "High performance mode increases the audio processor to it's max performance. It overall should make audio sound better and run smoother but may use a little bit more power. It does make a difference, start playing music with earphones or earbuds and toggle it on and off and you should notice a difference. If not then PowerAmp may have some other functions that don't use the audio processor."
> Btw, is ok Carbon ? Generally speaking.

Click to collapse



You mean is carbon ok?


----------



## buffer overflow (Aug 22, 2017)

Abraham Rohit Thomas said:


> You mean is carbon ok?

Click to collapse



You said that you are using Carbon rom and I asked if is ok. ?

Sent from my bullhead using XDA Labs


----------



## ART (Aug 22, 2017)

buffer overflow said:


> You said that you are using Carbon rom and I asked if is ok. ?

Click to collapse



Yes, it's an excellent ROM. It doesn't have as many features in the  settings like RR or DU, but it's probably got more under the hood performance innovations and tweaks that aren't there on other ROMs. 
The devs are really skilled, they keep adding features that no other ROM has , to make it fast and smooth ( and battery efficient). Plus, you're guaranteed excellent support. They still push builds every Tuesday for devices like the Samsung Galaxy s2 and 3.


----------



## sahafdeen (Aug 24, 2017)

Super post !


----------



## k2065183s (Aug 25, 2017)

Hello everyone,
About I/O Read Ahead Buffer,
The rules recommended below is for better performance right?
"Less than 8GB - 128KB
8GB - 512KB 
16GB - 1024KB
32GB or above - 2048KB"
My device is 32GB with NOOP scheduler.
If I want more battery life instead of performance,should I decrease the value?
Maybe 128KB?
Thank you.


----------



## buffer overflow (Aug 25, 2017)

k2065183s said:


> Hello everyone,
> About I/O Read Ahead Buffer,
> The rules recommended below is for better performance right?
> "Less than 8GB - 128KB
> ...

Click to collapse



2048kb is ok for 32GB. If you decrease value that not have impact in "more" battery life.

Sent from my bullhead using XDA Labs


----------



## k2065183s (Aug 25, 2017)

buffer overflow said:


> 2048kb is ok for 32GB. If you decrease value that not have impact in "more" battery life.
> 
> Sent from my bullhead using XDA Labs

Click to collapse



I get it.
Thank you for reply.
Have a nice day.


----------



## TheRock40359 (Aug 26, 2017)

My kernel only offers 3 governors to choose from.  Is there a way to add other governors?


----------



## ART (Aug 26, 2017)

TheRock40359 said:


> My kernel only offers 3 governors to choose from. Is there a way to add other governors?

Click to collapse



Which device and kernel you on?
Find a kernel that has different governors.


----------



## TheRock40359 (Aug 26, 2017)

Abraham Rohit Thomas said:


> Which device and kernel you on?
> Find a kernel that has different governors.

Click to collapse



I am on note 3 with phantom kernel.  Someone told me I could add governors to it as it only has 3


----------



## GuestK0079 (Aug 26, 2017)

TheRock40359 said:


> I am on note 3 with phantom kernel. Someone told me I could add governors to it as it only has 3

Click to collapse



Read the phantom thread to see why there are only 3 governors and how to add more. Please don't be lazy !


----------



## Legend_dimebag (Sep 18, 2017)

the best post I have ever seen ?


----------



## seraphism (Oct 15, 2017)

Hi guys,

Are there any particular governors that are designed to work specifically with hotplugging? The only hotplug I have on the kernel I'm running is autosmp. Could anyone recommend governors that work better with autosmp?

Thanks


----------



## davejimson (Nov 5, 2017)

Wow so Informative :highfive:


----------



## agus_ulo (Nov 6, 2017)

TheRock40359 said:


> My kernel only offers 3 governors to choose from. Is there a way to add other governors?

Click to collapse



Compile yourself


----------



## anjel05 (Nov 6, 2017)

TheRock40359 said:


> My kernel only offers 3 governors to choose from. Is there a way to add other governors?

Click to collapse



Find custom kernel for youre specific device


----------



## artisticwizard (Nov 30, 2017)

Awesome.
Thanks for all in one thread. It's really useful.

Sent from my Redmi Note 4 using XDA Labs


----------



## redmi_3g (Dec 5, 2017)

U are gifted by GOD
1 of the most perfect GOD creation
Brilliant,exellent,clever and hardworking
Keep it up dude!


----------



## RoboR1 (Dec 12, 2017)

I want to lower big core max cpu freq, are there any rules i should observe? Any side effects of lowering the freq besides slower performance?


----------



## guest4711 (Dec 12, 2017)

RoboR1 said:


> I want to lower big core max cpu freq, are there any rules i should observe? Any side effects of lowering the freq besides slower performance?

Click to collapse



Lower temperature...
Longer battery life...


----------



## dim^n (Dec 13, 2017)

Please add info for Crazyactive governor and AIO hotplug driver. And thanks everyone who collected  dat great base!


----------



## venhow (Dec 13, 2017)

THANKS!


----------



## KProject (Dec 19, 2017)

Very useful tread! THANKS YOU VERY MUCH


----------



## gedega10 (Dec 19, 2017)

*lazyplug*

@Saber can you make explaination about lazyplug by artur97? thanks !!


----------



## Saber (Dec 19, 2017)

gedega10 said:


> @Saber can you make explaination about lazyplug by artur97? thanks !!

Click to collapse



Done

See the updated post

Here are the changes for today:

```
19/12/17:
- Added lazyplug description
- Added crazyactive governor description
- Removed hotplug recommendations (outdated, inaccurate)
```


----------



## gedega10 (Dec 19, 2017)

Saber said:


> Done
> 
> See the updated post
> 
> ...

Click to collapse



Thanks so much, you're my man !!


----------



## jlb1959.01 (Dec 22, 2017)

Saber said:


> Done
> 
> See the updated post
> 
> Here are the changes for today:

Click to collapse




thank you....


----------



## rupanshji (Jan 11, 2018)

Hi! I found "TheNewBeginning" governor is not in the list.  
I found it when I was kanging governers from a kernel 
here is the commit(it has multiple governors)- https://github.com/rupansh/chimera_land/commit/ea8bc55d77bf6e719c0350f0d51607d83ce9b2b3
hoping you could leech some information out of it


----------



## jlb1959.01 (Jan 27, 2018)

Very helpful,much appreciated...


----------



## Pawnzer (Jan 30, 2018)

Any info about "Cultivation" CPU Governor?


----------



## Cyanogengod (Jan 30, 2018)

Best overall combo for maximum balance between battery and performance is without a doubt interactive with fiops or zen as scheduler.
I have tested them all and this is simply the best.


----------



## kemdroid (Jan 30, 2018)

Cyanogengod said:


> Best overall combo for maximum balance between battery and performance is without a doubt interactive with fiops or zen as scheduler.
> I have tested them all and this is simply the best.

Click to collapse



Really? I will try then. But impulse with zen or noop gives me 7 hours screen on time with heavy use. I think the ROM and phone has a lot to do with it among other factors like app usage etc...


----------



## Cyanogengod (Jan 30, 2018)

kemdroid said:


> Really? I will try then. But impulse with zen or noop gives me 7 hours screen on time with heavy use. I think the ROM and phone has a lot to do with it among other factors like app usage etc...

Click to collapse



True that also makes a difference.
What phone/ROM do you use?
I am using the international S5 with LOS 14.1 and pico gapps. Definitely test interactive/fiops
If you can sacrifice about 10-12% performance in exchange for more battery life then pegasus/ios or pegasus/noop with -25mv is the next best thing.


----------



## kemdroid (Jan 30, 2018)

Cyanogengod said:


> True that also makes a difference.
> What phone/ROM do you use?
> I am using the international S5 with LOS 14.1 and pico gapps. Definitely test interactive/fiops
> If you can sacrifice about 10-12% performance in exchange for more battery life then pegasus/ios or pegasus/noop with -25mv is the next best thing.

Click to collapse



I am using Honour 5x and on DotOs 7.1.2. I had an S5 but upgraded for an 8 core processor. It's low power so I can easily get 5-6 hrs screen on. I also have a 3000mah battery compared to the 2800 in the s5. I will give interactive a try later on.


----------



## Cyanogengod (Jan 30, 2018)

kemdroid said:


> I am using Honour 5x and on DotOs 7.1.2. I had an S5 but upgraded for an 8 core processor. It's low power so I can easily get 5-6 hrs screen on. I also have a 3000mah battery compared to the 2800 in the s5. I will give interactive a try later on.

Click to collapse



Nice upgrade. I wanted to get the S8, but decided to finally get a threadripper cpu and a tablet instead. 
I get about 4-5 hours with fairly heavy use on interactive. Pegasus gives me 5 1/2h easy though.
With Wifi on at all times, mind you.


----------



## kemdroid (Jan 30, 2018)

Cyanogengod said:


> Nice upgrade. I wanted to get the S8, but decided to finally get a threadripper cpu and a tablet instead.
> I get about 4-5 hours with fairly heavy use on interactive. Pegasus gives me 5 1/2h easy though.
> With Wifi on at all times, mind you.

Click to collapse



Thanks mate. I see. Well I wouldn't go for the s8 yet until prices drop when s9 release Hehe. Unless you have bucks to spare. Nice to see you get 5.5 hrs. During my time users reported even 6.5 with the s5 running beoffla kernel on nougat.


----------



## Saber (Jan 30, 2018)

Pawnzer said:


> Any info about "Cultivation" CPU Governor?

Click to collapse



I'll see if there's any info I can find


----------



## Saber (Jan 30, 2018)

kemdroid said:


> I think the ROM and phone has a lot to do with it among other factors like app usage etc...

Click to collapse



I actually think (on some if not most) it's Google Services and how it behaves on Custom ROMs that influence battery life. I'm running the Galaxy S5. LineageOS /w Gapps gives ~15% drain while screen is off. On stock, I see much less battery drain. As for evidence, I don't have a whole lot other than BBS indicating that Google Play Service wakes up the device too frequently (maybe to phone home?), and it is consistent among the several clean flashes I've performed on multiple LOS-based ROMs. 

I wanted to find out the fuss about MicroG and how it is a good open source alternative, so I did test it out and got amazing battery life results. YMMV because ROMs generally don't support signature spoofing by default.


----------



## Saber (Jan 30, 2018)

rupanshji said:


> Hi! I found "TheNewBeginning" governor is not in the list.
> I found it when I was kanging governers from a kernel
> here is the commit(it has multiple governors)- https://github.com/rupansh/chimera_land/commit/ea8bc55d77bf6e719c0350f0d51607d83ce9b2b3
> hoping you could leech some information out of it

Click to collapse



Will add when I have time


----------



## Cyanogengod (Jan 30, 2018)

kemdroid said:


> Thanks mate. I see. Well I wouldn't go for the s8 yet until prices drop when s9 release Hehe. Unless you have bucks to spare. Nice to see you get 5.5 hrs. During my time users reported even 6.5 with the s5 running beoffla kernel on nougat.

Click to collapse



Yeah, but anything above 6h is either on powersave, minimal voltages or just light use.
I had a good deal on an S8 with a cracked screen. With a screen replacement I'd have paid under 450$
Honestly though the S5 on 14.1 and Boeffla runs extremely smooth and snappy. I haven't felt like I needed an upgrade for years now.


----------



## kemdroid (Jan 30, 2018)

Cyanogengod said:


> Yeah, but anything above 6h is either on powersave, minimal voltages or just light use.
> I had a good deal on an S8 with a cracked screen. With a screen replacement I'd have paid under 450$
> Honestly though the S5 on 14.1 and Boeffla runs extremely smooth and snappy. I haven't felt like I needed an upgrade for years now.

Click to collapse



Yea that's true because these processor today are very fast. Even faster than my PC lol. Yea S5 has good development. That's why I don't buy new phones. Why pay $1000 for a phone for instance when you could buy a $150 phone and get a sweet ROM and kernel and have fun. I'll never buy the latest phone... I prefer value and get the most of of my buck .


----------



## Cyanogengod (Jan 30, 2018)

kemdroid said:


> Yea that's true because these processor today are very fast. Even faster than my PC lol. Yea S5 has good development. That's why I don't buy new phones. Why pay $1000 for a phone for instance when you could buy a $150 phone and get a sweet ROM and kernel and have fun. I'll never buy the latest phone... I prefer value and get the most of of my buck .

Click to collapse



That's the enthusiast spirit though. Once you go as deep as flashing custom kernels and tinkering with voltages on a phone you can but look with contempt upon a dummy on his iphone or ipad believing he paid for "quality". For me it started with overclocking my pc hardware. Then ditching windows for linux and now tuning cars. Once you adopt that tweaking mentality you can never again enjoy any OEM, preconfigured, predefined garbage product. Are you into pcs at all?


----------



## kemdroid (Jan 30, 2018)

Cyanogengod said:


> That's the enthusiast spirit though. Once you go as deep as flashing custom kernels and tinkering with voltages on a phone you can but look with contempt upon a dummy on his iphone or ipad believing he paid for "quality". For me it started with overclocking my pc hardware. Then ditching windows for linux and now tuning cars. Once you adopt that tweaking mentality you can never again enjoy any OEM, preconfigured, predefined garbage product. Are you into pcs at all?

Click to collapse



Man can I tell you? We have so much in common. I have ditched windows too and now running Linux on my two machines. I love exploring and knowledge is power bro.  Once you experience the true power of it you will never go back. Iphones are crap point blank. It's not worth the money. I laugh at my friends everyday. Anyway I think we are getting off topic so add me as friend and PM me. :fingers-crossed:


----------



## Cyanogengod (Jan 31, 2018)

kemdroid said:


> Man can I tell you? We have so much in common. I have ditched windows too and now running Linux on my two machines. I love exploring and knowledge is power bro. Once you experience the true power of it you will never go back. Iphones are crap point blank. It's not worth the money. I laugh at my friends everyday. Anyway I think we are getting off topic so add me as friend and PM me. :fingers-crossed:

Click to collapse



Alright, PM'ed you.
I just tried an ultra power saving profile with 70% performance still. It's like the battery indicator is stuck omg. https://forums.oneplus.net/threads/...el-profile-got-me-almost-13-hours-sot.241354/


----------



## kdsmafia (Feb 3, 2018)

deleted


----------



## icysnowy (Feb 7, 2018)

Can you add all governor based from interactive in your post.


----------



## freskile (Feb 7, 2018)

Saber said:


> *46. IntelliMM*
> 
> *Summary:*
> PERFORMANCE: EXCELLENT, BATTERY LIFE: POOR, COMPATIBILITY: GOOD
> ...

Click to collapse



Is the 'Summary' part for IntelliMM valid? 'BATTERY LIFE: POOR' or "battery friendly" as written in the description?  I suppose the latter (?) as it is listed in the "For battery life" recommendations in the following link:
https://androidmodguide.blogspot.com.tr/p/blog-page.html


----------



## Saber (Feb 7, 2018)

freskile said:


> Is the 'Summary' part for IntelliMM valid? 'BATTERY LIFE: POOR' or "battery friendly" as written in the description?  I suppose the latter (?) as it is listed in the "For battery life" recommendations in the following link:
> https://androidmodguide.blogspot.com.tr/p/blog-page.html

Click to collapse



Yes that would be a mistake and will be corrected shortly. 

I'm planning on removing the 'summary' parts as I feel they are too inaccurate and/or there is insufficient evidence to support the claims given in the statement.


----------



## Saber (Feb 7, 2018)

icysnowy said:


> Can you add all governor based from interactive in your post.

Click to collapse



Can you please elaborate on what you mean? Do you mean add more interactive-based governors into the guide? If so, which ones?


----------



## Haldi4803 (Feb 8, 2018)

He's probably talking about Ghostpepper, Hawktail and other Interactive based Profile Settings that totally change the behaviour of interactive.




Saber said:


> I'm planning on removing the 'summary' parts as I feel they are too inaccurate and/or there is insufficient evidence to support the claims given in the statement.

Click to collapse



Indeed they are.
Settings tested on Device A might have a total different result on Device B.
Saying that something is good for batterylife is also dependant on usage, if someone browses the web allday that's different from someone who mostly makes calls and writes a lot of emails and totally different from someone who plays games all day. 
While the idea to use a simple definition of it's efficiency is great, it's sadly hugely inaccurate in reality.


----------



## dazeone (Feb 8, 2018)

Haldi4803 said:


> He's probably talking about Ghostpepper, Hawktail and other Interactive based Profile Settings that totally change the behaviour of interactive.
> 
> 
> 
> ...

Click to collapse



But could it also be true to say something saves battery even though different people use their device differently. Example: person a uses the device to browse the web, watch YouTube and make calls and uses the profile saying it is battery saving and gets good battery over another profile that isn't aimed towards battery, then it did same battery. If you game, surf the web, watch YouTube or whatever, the profile that is aimed for battery should get you more battery vs using no profile or another profile not intended for battery so I'm reality despite the usage it still saves battery. If I game for 1 hour using a battery saving profile and it gets me a battery decrease of 10% in that hour vs gaming for 1 hour with a balance or performance profile that gets me a battery drain of 15% or more in that hour with the same game, then the profile did save me some battery. In my test I tested 6 profiles with similar usage over a period of time and I see my battery saving profiles get me more sot than any other profile I test. 

Sent from my NexusReborn6p


----------



## Haldi4803 (Feb 8, 2018)

If you want to save Battery reduce the maximum Clock.
If you use a governor that doesn't ramp up as fast and goes down faster you're not as often on max clock which obviously saves battery.
So while most tests here we're done on SD800 Krait Quad cores we now have Big.LITTLE Quad cores and even Big.Little Octa- and Hexacores.
Saying governor A saves battery while not creating any lag on Device A might not be true at all for device B or C.
Then there is also the finetuning of governors, which each kernel dev might have (should have!) tampered with, which can have totally different results to anything tested on another device.

It's just not that easy to make a correct conclusive statement for such a variety of users, and IMHO it's bad to include it in such a beautiful comprehension of accumulated knowlegde about governors.
Or do you agree that Strawberry icecream is the best, no matter what?


P.S: BTT:


> Energy-aware scheduling (EAS) Governors
> 1. schedutil
> schedutil is a new EAS governor found in recent versions of the Linux Kernel (4.7+) that aims to integrate better with the Linux Kernel scheduler. It uses the kernel's scheduler to receive CPU utilisation information and make decisions from this input. As a direct result, schedutil can respond to CPU load faster and more accurate than normal governors such as Interactive that rely on timers.

Click to collapse



IIRC Renderbroken ported EAS to kernel 3.18


----------



## dazeone (Feb 8, 2018)

Haldi4803 said:


> If you want to save Battery reduce the maximum Clock.
> If you use a governor that doesn't ramp up as fast and goes down faster you're not as often on max clock which obviously saves battery.
> So while most tests here we're done on SD800 Krait Quad cores we now have Big.LITTLE Quad cores and even Big.Little Octa- and Hexacores.
> Saying governor A saves battery while not creating any lag on Device A might not be true at all for device B or C.
> ...

Click to collapse



Yeah governor A might not be good on device B as it is on device A. I get what you're saying. There could also be other factors as to why it isn't. Scheduler used, min max frequencies, entropy settings, read ahead of scheduler. So device a uses different scheduler that could impact battery life too. So even though one governor claims good battery there are other factors that helped it get good battery that might be used on another device. Both running the same governor but other settings are different and you'll get totally different results. True though no governor should say saving battery due to the fact it really takes more than the governor to save battery. My mistake though because I thought we were talking about profiles until I kept reading back in the conversation. 

Sent from my NexusReborn6p


----------



## nikkky (Feb 13, 2018)

I have a rooted RN4 (625) with ElectraBlue kernel. How can I change and verify current I/O scheduler and TCP algorithm? If it is posible, I want a clean way to do this, I mean without using aditional app. If it is posible I want change these settings with Terminal like I do with CPU governor (cat for checking and echo for changing).


----------



## jcmm11 (Feb 13, 2018)

nikkky said:


> I have a rooted RN4 (625) with ElectraBlue kernel. How can I change and verify current I/O scheduler and TCP algorithm? If it is posible, I want a clean way to do this, I mean without using aditional app. If it is posible I want change these settings with Terminal like I do with CPU governor (cat for checking and echo for changing).

Click to collapse



The following is from my own scripts. I just showed where I set variables, you should be able to figure out how to use them. The allowable values are kernel dependent.

# Following can be one of: 
# noop deadline cfq bfq 
Sched_value="deadline" 
Sched1="/sys/block/mmcblk0/queue/scheduler" Sched2="/sys/block/mmcblk0rpmb/queue/scheduler"
Sched_all="/sys/block/mmcblk0*/queue/scheduler"

Readahead_size=1024
Readahead1="/sys/block/mmcblk0/queue/read_ahead_kb"
Readahead2="/sys/block/mmcblk0rpmb/queue/read_ahead_kb"
Readahead_all="/sys/block/mmcblk0*/queue/read_ahead_kb"

# Following can be one of: 
# cubic reno bic westwood highspeed hybla 
# htcp vegas veno scalable lp yeah illinois
Tcpcong_value="cubic" 
Tcp_congestion="/proc/sys/net/ipv4/tcp_congestion_control"


----------



## dsjiffry (Feb 21, 2018)

Saber said:


> Spoiler

Click to collapse



Hey Saber, could you explain how the fast_ramp_down parameter works in the interactive governor???


----------



## nexus_vl (Feb 23, 2018)

dsjiffry said:


> Hey Saber, could you explain how the fast_ramp_down parameter works in the interactive governor???

Click to collapse



Google is your friend! (most of the time anyway) 

fast_ramp_down: If non-zero, do not apply min_sample_time if
frequency evaluation is triggered by scheduler notification. For
evaluation triggered by timer, min_sample_time is still always
enforced. fast_ramp_down has no effect if use_migration_notif is
set to zero. Default is zero.


----------



## piskor (Feb 23, 2018)

nexus_vl said:


> Google is your friend!
> ...

Click to collapse



I can't agree with that
I would say - searchengines are your friend
For example those:
https://duckduckgo.com
https://www.startpage.com/


----------



## dsjiffry (Feb 24, 2018)

nexus_vl said:


> Google is your friend! (most of the time anyway)
> 
> fast_ramp_down: If non-zero, do not apply min_sample_time if
> frequency evaluation is triggered by scheduler notification. For
> ...

Click to collapse



I saw this explanation....... But was hoping to get a simpler version.... Which is why I came here. :angel:


----------



## jcmm11 (Feb 24, 2018)

dsjiffry said:


> I saw this explanation....... But was hoping to get a simpler version.... Which is why I came here. :angel:

Click to collapse



If option is on then
If the timer is requesting the ramp down ignore it unless the min sample time has expired.
If scheduler is requesting ramp down ignore any min sample time restriction.
If use_migration_notif is zero (default) then ignore fast ramp down


----------



## Saber (Feb 26, 2018)

*The OP has been update!*

G'day all, 

I have updated the OP with the following changes:

```
27/02/18:
- Removed governor summaries 
- Adapted the hotplug and GPU governor layout to be the same as the CPU governor layout (no more one liners)
- Added info on the thenewbeginning governor
```

Stay tuned as I will be making further adjustments to this thread later today 

Edit: And apologies for the delays. I have promised people updates but have yet to complete them until now.


----------



## Saber (Feb 26, 2018)

rupanshji said:


> Hi! I found "TheNewBeginning" governor is not in the list.
> I found it when I was kanging governers from a kernel
> here is the commit(it has multiple governors)- https://github.com/rupansh/chimera_land/commit/ea8bc55d77bf6e719c0350f0d51607d83ce9b2b3
> hoping you could leech some information out of it

Click to collapse



Not a whole lot of info I could grab from the internet. So I just compared the source file of that governor against other similar looking governor and it seems to be a modified Alucard variant. Added 

OT: That "24" at the end of the author name really gave it away and under close inspection, this remained true! Although if I had to make one suggestion to the creator (or hacker, lol) of the governor, it would be to retain the credits to the original author.


----------



## Deltachrome (Mar 2, 2018)

Can someone please explain to me what adrenoboost is? I have seen it mentioned as a feature in custom kernels, but I can't find an explanation for what it actually does.


----------



## Haldi4803 (Mar 3, 2018)

It boosts the GPU clock...
Or was it the ramp up speed?
Some people swear it reduces lags and makes your game run faster.


----------



## yarpiin (Mar 3, 2018)

Deltachrome said:


> Can someone please explain to me what adrenoboost is? I have seen it mentioned as a feature in custom kernels, but I can't find an explanation for what it actually does.

Click to collapse



It just ramps up gpu frequencies quicker when enabled

Sent from my OnePlus3 using XDA Labs


----------



## Saber (Mar 3, 2018)

Deltachrome said:


> Can someone please explain to me what adrenoboost is? I have seen it mentioned as a feature in custom kernels, but I can't find an explanation for what it actually does.

Click to collapse



As mentioned by others, it ramps up the GPU freq when in a GPU intensive application. It isn't a standalone GPU gov. IIRC, it was created by Flar2 and has 3 levels of boost.


----------



## Pawnzer (Mar 18, 2018)

Why remove the governor summaries? In my opinion, it helps what governor to use. Reading just the description does not help at all, for me anyway.


----------



## krasCGQ (Mar 18, 2018)

Pawnzer said:


> Why remove the governor summaries? In my opinion, it helps what governor to use. Reading just the description does not help at all, for me anyway.

Click to collapse


#831

Sent from my Redmi Note 4 using XDA Labs


----------



## D1stRU3T0R (Mar 24, 2018)

Which one is the best for (pretty hard) gaming? Sd 820  The big cores are almost never utilized (little oced to 1.7+ and big for 2.25+). Currently, i switched from interactive to elementalx and i feel like it'd better and doesn't heat soo much, but is there a better governor for gaming (and like battery life, don't need performance governor )


----------



## altintas00 (Mar 25, 2018)

D1stRU3T0R said:


> Which one is the best for (pretty hard) gaming? Sd 820  The big cores are almost never utilized (little oced to 1.7+ and big for 2.25+). Currently, i switched from interactive to elementalx and i feel like it'd better and doesn't heat soo much, but is there a better governor for gaming (and like battery life, don't need performance governor )

Click to collapse



+1


----------



## LuckySwitz (Mar 25, 2018)

D1stRU3T0R said:


> Which one is the best for (pretty hard) gaming? Sd 820  The big cores are almost never utilized (little oced to 1.7+ and big for 2.25+). Currently, i switched from interactive to elementalx and i feel like it'd better and doesn't heat soo much, but is there a better governor for gaming (and like battery life, don't need performance governor )

Click to collapse






altintas00 said:


> +1

Click to collapse



I don't have too much knowledge for this but I feel excellent performance with Lionheart with all cores online.


----------



## altintas00 (Mar 25, 2018)

LuckySwitz said:


> I don't have too much knowledge for this but I feel excellent performance with Lionheart with all cores online.

Click to collapse



Oke thank you I will try that. I do play hd games a lot, thats why I was interested in performance. Most people care about battery life so not much info for gamers on the internet.


----------



## Scottchy112 (Mar 27, 2018)

Hello there,
Since i moved to custom roms im experiencing much higher battery drain when screen is off and music is playing. Cpu was cosntantly at 1026 MHz.
Im using conservative governor.
I'd like to know if there is a governor that switches to low freqs when you off the screen but allow music to play (powersafe governor makes the music stutter since all cores are at 162 MHz) .
I first wanted to ask in this forum before i go to my roms and music player ones.


----------



## Saber (Mar 27, 2018)

Scottchy112 said:


> Hello there,
> Since i moved to custom roms im experiencing much higher battery drain when screen is off and music is playing. Cpu was cosntantly at 1026 MHz.
> Im using conservative governor.
> I'd like to know if there is a governor that switches to low freqs when you off the screen but allow music to play (powersafe governor makes the music stutter since all cores are at 162 MHz) .
> I first wanted to ask in this forum before i go to my roms and music player ones.

Click to collapse



The problem you are describing here is with the conservative governor. Choose something interactive based, or if your kernel has it, zzmoove.


----------



## yarpiin (Mar 27, 2018)

Scottchy112 said:


> Hello there,
> Since i moved to custom roms im experiencing much higher battery drain when screen is off and music is playing. Cpu was cosntantly at 1026 MHz.
> Im using conservative governor.
> I'd like to know if there is a governor that switches to low freqs when you off the screen but allow music to play (powersafe governor makes the music stutter since all cores are at 162 MHz) .
> I first wanted to ask in this forum before i go to my roms and music player ones.

Click to collapse



follow @Saber advice or tweak your conservative gov to be more agressive set up threshold to 98 and down to 90 and sampling rate to 1000 - 2000 should be more snappy reduce frequency quicker

Sent from my OnePlus3 using XDA Labs


----------



## Scottchy112 (Mar 27, 2018)

Saber said:


> The problem you are describing here is with the conservative governor. Choose something interactive based, or if your kernel has it, zzmoove.

Click to collapse






yarpiin said:


> follow @Saber advice or tweak your conservative gov to be more agressive set up threshold to 98 and down to 90 and sampling rate to 1000 - 2000 should be more snappy reduce frequency quicker

Click to collapse



Ok thank you for the ideas. I'll try both tomorrow and will report then.


EDIT:
Tweaking conservative kernel is the solution. While playing music one kernel is active at about 245MHz.
Thank you again


----------



## hopecore777 (Apr 4, 2018)

What are recommended governor which is good in battery life but not affect the performance? I have darkness, lazy, abyssplug, zzmoove, wheatley, intelliactive, optimax, smartmax, impulse, nightmare, alucard, lionheart? And what are the best hotplugging? Alucard hotplug, thunderplug or autosmp?
Thanks in adcance!


----------



## guest4711 (Apr 4, 2018)

hopecore777 said:


> What are recommended governor which is good in battery life but not affect the performance? I have darkness, lazy, abyssplug, zzmoove, wheatley, intelliactive, optimax, smartmax, impulse, nightmare, alucard, lionheart? And what are the best hotplugging? Alucard hotplug, thunderplug or autosmp?
> Thanks in adcance!

Click to collapse



To have a good performance and a great battery life it is essential to limit the number of processes running in the background. Avoid using g-apps, messengers and location services and you are good...

But the best is to try it yourself. Every device is different (set up) and every user has its own preferences and needs.


----------



## indup (Jun 1, 2018)

would it be possible for some one to tell me how to remove certain i/o schedulers from a kernel please?


----------



## koekoek91 (Jun 1, 2018)

indup said:


> would it be possible for some one to tell me how to remove certain i/o schedulers from a kernel please?

Click to collapse



I wouldn't know how to do that but can I ask why you want to do that?

Why not simply use the I/O scheduler you want to use, and ignore the others?


----------



## indup (Jun 1, 2018)

i just have a problem with some of the names

anyone else can help please?


----------



## Saber (Jun 1, 2018)

indup said:


> would it be possible for some one to tell me how to remove certain i/o schedulers from a kernel please?

Click to collapse



I assuming you already know the basics for building kernels? You can either disable it in kernel configs or remove the files completely.

All scheduler .c files are contained in block/, and can be disabled via the Kconfig.iosched (by removing default y) or in the defconfig (by uncommenting option). 

Confused? Please Google


----------



## Saber (Jun 1, 2018)

indup said:


> i just have a problem with some of the names
> 
> anyone else can help please?

Click to collapse



What names? As in there are problems with some of the schedulers? Or do you want to rename them?


----------



## marcdw (Jun 2, 2018)

indup said:


> i just have a problem with some of the names
> 
> anyone else can help please?

Click to collapse



Umm, you need/should explain more. Do the names offend you or... what?
Another question is, how many times a day are you looking at schedulers? Pick one that works for you and you'll not have to see the names again. Until the next change.

Regardless, as mentioned, get the kernel source and do what you need to do.


LG G3 D851, PAC-MAN LP ROM, MultiROM, Tapatalk 4.9.5


----------



## indup (Jun 2, 2018)

Saber said:


> What names? As in there are problems with some of the schedulers? Or do you want to rename them?

Click to collapse



rename or  remove whichever would be easier

i dont know the basics of building kernels.


----------



## yarpiin (Jun 2, 2018)

indup said:


> rename or remove whichever would be easier
> 
> i dont know the basics of building kernels.

Click to collapse



it depends from where you want to remove them from already compiled kernel or before compiling ? 

- not possible from already compiled one
- to remove before compiling go to your defconfig file and change for example CONFIG_IOSCHED_BFQ=y into # CONFIG_IOSCHED_BFQ is not set or CONFIG_IOSCHED_BFQ=n

and then compile kernel



Sent from my OnePlus3 using XDA Labs


----------



## Saber (Jun 2, 2018)

indup said:


> rename or  remove whichever would be easier
> 
> i dont know the basics of building kernels.

Click to collapse



Since this guide will not cover how to build or modify kernel, I recommend to do your own independent research. Sorry but this thread isn't for spoonfeeding on off-topic discussion. There are many guides written on XDA-Developers that go over how to build kernels and how to change/remove various parts of the kernel (governors and schedulers included), so I recommend starting there. Which ones? Like #1 #2 and so on...

If you are still confused, you should probably post in a more appropriate section where you can get appropriate help. 

Regards, Saber


----------



## indup (Jun 2, 2018)

ok no problem,thanks to all


----------



## kewinhw (Jun 12, 2018)

delete


----------



## rishivg (Jun 16, 2018)

can u also include shedutil governor?? Its included in the latest EAS commited kernels...
Really this post has always helped me with setting up my kernel.. 
Thankyou for the graeat work!


----------



## Iliyena (Jun 16, 2018)

rishivg said:


> can u also include shedutil governor?? Its included in the latest EAS commited kernels...
> Really this post has always helped me with setting up my kernel..
> Thankyou for the graeat work!

Click to collapse



Actually already included down below the governors. 
I return to this thread multiple times a month to refresh the differences when playing on the fly 

Sent from my Galaxy S4 using XDA Labs


----------



## Saber (Jun 17, 2018)

rishivg said:


> can u also include shedutil governor?? Its included in the latest EAS commited kernels...
> Really this post has always helped me with setting up my kernel..
> Thankyou for the graeat work!

Click to collapse



I'll aim to reorganise the guide so it is easier to find things. One thing I'll add back is recommendations, so stay tuned


----------



## kemdroid (Jun 17, 2018)

Saber said:


> I'll aim to reorganise the guide so it is easier to find things. One thing I'll add back is recommendations, so stay tuned

Click to collapse



please do and add back the info about battery: good great, excellent etc. Performance: good great excellent etc.. Thanks!


----------



## Haldi4803 (Jun 17, 2018)

kemdroid said:


> please do and add back the info about battery: good great, excellent etc. Performance: good great excellent etc.. Thanks!

Click to collapse



Because we all want to believe that sweet little lie that this specific option which we choose is the best all around.... yeah.


----------



## grantdb (Jun 18, 2018)

Haldi4803 said:


> Because we all want to believe that sweet little lie that this specific option which we choose is the best all around.... yeah.

Click to collapse



I get that but there is definitely big differences between different settings that can make your device slower or faster. Examples are very helpful to me and I appreciate those who take the time to post these options.


----------



## D1stRU3T0R (Jun 18, 2018)

grantdb said:


> I get that but there is definitely big differences between different settings that can make your device slower or faster. Examples are very helpful to me and I appreciate those who take the time to post these options.

Click to collapse



Or at least a rank, like for example : performance: 1. Interactive 2.Bioshock etc
Battery: 1.x 2.y
Gaming: 1.z 2.w


----------



## Saber (Jun 18, 2018)

D1stRU3T0R said:


> Or at least a rank, like for example : performance: 1. Interactive 2.Bioshock etc
> Battery: 1.x 2.y
> Gaming: 1.z 2.w

Click to collapse



Yeah no problems. Probably not rank all governors, but a select few (most common, similar to last time round). I'll add the info when I have time 

Also, I'll fix the scheduler descriptions (bring a revised recommendation guide). I done a lot of OS studies during university and have been more learning more concepts on the linux operating system.


----------



## Saber (Jun 18, 2018)

*OP has been updated*

This update brings the first round of changes I've promised

Here are the changes for today: 

```
18/06/18:
- Updated I/O scheduler recommendations
```

*What does this mean?*
- New recommendations now account for modern smartphones/systems. A lot of older schedulers (e.g. ROW, SIO, etc) don't give the same benefits on current systems compared to what they might have on older systems. The guide will also hold for Linux systems in general, and not just mobile

I will work to bring governor changes soon...


----------



## Haldi4803 (Jun 18, 2018)

grantdb said:


> I get that but there is definitely big differences between different settings that can make your device slower or faster.

Click to collapse



Exactly that's the point!
There are a lot of differences in software AND hardware.
Comparing a 4 core exynos 4412 vs a snapdragon 800 or a 820 with Big.Little or a sd845 with DynamIQ and 8 cores....
No setting will behave the same on each of those devices.
Saying XYZ is good for battery because it works fine on system ABC is not a general valid assumption.


----------



## Saber (Jun 19, 2018)

*OP has been updated*

Due to popular demand, I've added back the *CPU governor recommendations*. 

As it has already been mentioned by myself and others, different configurations can yield different results and hence makes it difficult to provide a list that attempts a one solution fits all approach. As I can't make recommendation on a case-by-case basis, it is ultimately up to the user to decide what is best for them, and the information I've provided is intended to be a starting guide. 

So how am I arranging recommendations? This time round, I've made selections based on a "*overall*", "*battery life*" and "*performance*". 

What if I believe the information is wrong? Feel free to PM me and I'll see what I can do 

Kinds regards,

Saber


----------



## kemdroid (Jun 19, 2018)

Saber said:


> Due to popular demand, I've added back the CPU governor recommendations.
> 
> As it has already been mentioned by myself and others, different configurations can yield different results and hence makes it difficult to provide a list that attempts a one solution fits all approach. As I can't make recommendation on a case-by-case basis, it is ultimately up to the user to decide what is best for them, and the information I've provided is intended to be a starting guide.
> 
> ...

Click to collapse



Thank you so much!


----------



## andrea0807 (Jun 23, 2018)

Which CPU governor allows a longer battery life, between these two? interactive or schedutil?


----------



## Iliyena (Jun 23, 2018)

andrea0807 said:


> Which CPU governor allows a longer battery life, between these two? interactive or schedutil?

Click to collapse



Interactive tweaked just right for your device should do that, but it would probably also introduce some waiting times starting apps and a few sluggish moments now and then. Whereas I don't know how shedutil performs with reaching deep sleep or such it should fare better than a default interactive gov.

As always it depends on the type of usage your putting the device through and what apps, device and ROM is mixed.


----------



## andrea0807 (Jun 23, 2018)

Hotplugging drivers where can I modify them?
I use the adiutor kernel application, but I can not find the item.


----------



## zputnyq (Jun 23, 2018)

andrea0807 said:


> Hotplugging drivers where can I modify them?
> I use the adiutor kernel application, but I can not find the item.

Click to collapse



It's better to check your device & kernel you use first whether your device and/or kernel have it.
If you your device and/or kernel doesn't have/support it, then it won't appear in KA.


----------



## Cichy26 (Jun 23, 2018)

Iliyena said:


> Interactive tweaked just right for your device should do that, but it would probably also introduce some waiting times starting apps and a few sluggish moments now and then. Whereas I don't know how shedutil performs with reaching deep sleep or such it should fare better than a default interactive gov.

Click to collapse



 Can you tell how to tweak interactive for better battery life?


----------



## gFknQ (Jun 23, 2018)

andrea0807 said:


> Hotplugging drivers where can I modify them?
> I use the adiutor kernel application, but I can not find the item.

Click to collapse



If your kernel has it and is supported, it should be here (screenshot) 

Sent from my OnePlus3T using XDA Labs


----------



## runeupo (Jun 24, 2018)

Cichy26 said:


> Can you tell how to tweak interactive for better battery life?

Click to collapse



Use 'search plus' before asking, tweak interactive..


https://forum.xda-developers.com/nexus-6p/general/guide-advanced-interactive-governor-t3290605


----------



## Infy_AsiX (Jul 15, 2018)

koyo said:


> Hey. I looked up things about Android and why it's UI lags so much. I once stumbled upon a topic that said this was the fault of the CPU governor, as it was the frequency jumps that caused this and not anything inherent. Said poster then proceeded to provide profile GPU pics of stuttering between a locked CPU frequency and one that uses the governor, and it indeed displayed less dropped frames (iirc, when the graph shoots past the green line, it means frames have been dropped). Is this just some placebo effect? Should I be using the performance governor if I want smooth UI since it locks the frequency?

Click to collapse



Never properly tested developer settings Profile GPU rendering until recently. I also saw better UI responsiveness and close to no stutter on performance governor. Thus figured out scrolling stutter inherent on S820 was CPU governor related. 

I'd no success in tweaking interactive or ondemand higher. What baffled is my Z3C S801 has similarly tuned aggressive interactive and maintains responsiveness. But I had TripNDroid @TripNRaVeR governor ready on the kernel. Setting it's down_sample_time 150000 from 30000 almost matches the UI responsiveness of performance gov, no significant scroll stuttering now except immediately after switching apps or fresh loading an intensive app like Play Store. No touch boost required, which means long several second extended flick scrolling doesn't lag out and that the gov is efficient at handling demand appropriately without relying on arbitrary touch boosting. Note, I've also ROM thermal throttling disabled.

Don't know why I couldn't tune Interactive or Ondemand to perform enough, however i'm no expert. It does lead me to think Snapdragon was UI compromised hard tuned for less power due to battery life and heat limitations of the spec and OS platform. Yet the right governor can tune things high enough for UI responsiveness.

update edit: I also just realised tripndroid suffers stuttering too without adrenoboost higher than low setting too. Only recently discovered adrenoboost, it scales really well for performance, turns out eliminating stuttering is high performance cpu and gpu


----------



## andrea0807 (Jul 18, 2018)

Hi guys, which of these governors has a good battery life without affecting the performance too much? lionfish could be okay?

Inviato dal mio LEX820 utilizzando Tapatalk


----------



## nexus_vl (Jul 18, 2018)

andrea0807 said:


> Hi guys, which of these governors has a good battery life without affecting the performance too much? lionfish could be okay?View attachment 4552353
> 
> Inviato dal mio LEX820 utilizzando Tapatalk

Click to collapse



It looks like you're using an EAS based kernel, then you should definitely use schedutil for best battery


----------



## FsocietyInc (Jul 27, 2018)

Thanks a lot ?


----------



## gedega10 (Aug 19, 2018)

Saber said:


> TCP algorithms guide
> 
> 
> What are TCP algorithms?
> ...

Click to collapse





Hi Saber, I found some kernels have new TCP's, care to research and teach us? Thanks much!


----------



## Saber (Aug 19, 2018)

gedega10 said:


> Hi Saber, I found some kernels have new TCP's, care to research and teach us? Thanks much!

Click to collapse



Sure, when I have time, I'll do some research


----------



## damarwardoyo (Aug 20, 2018)

what would happen if i apply more than one hotplug?


----------



## marcdw (Aug 20, 2018)

damarwardoyo said:


> what would happen if i apply more than one hotplug?

Click to collapse



Doesn't matter. You're to use only one. Period.
If you want to enable more than one for some strange reason, go ahead. Report back. [emoji16]


Moto G5S Plus XT1806, balanceOS 2.0, MultiROM, XDA Legacy


----------



## Saber (Aug 21, 2018)

damarwardoyo said:


> what would happen if i apply more than one hotplug?

Click to collapse



Generally only one hotplug driver should be used. When two or more hotplugs run at once, unexpected behavior can occur (i.e poor battery life, poor performance, stability issues, etc)


----------



## zr_hazem (Aug 21, 2018)

@Saber can you please provide us with an explanation or documentation to schedutil tunables such as sched_nr_migrate, sched_latency_ns. There are many more and I'd like to understand what they do exactly.


----------



## James5895 (Aug 28, 2018)

Delete plz


----------



## Vink67 (Aug 30, 2018)

Hi,
Someone have info on clarity and electron cpu gov !? 
Thanks


----------



## BIBUBO BCJ (Aug 30, 2018)

Please add more GPU Governor, like Booster, Static,etc. And some explanation


----------



## yarpiin (Sep 1, 2018)

Vink67 said:


> Hi,
> Someone have info on clarity and electron cpu gov !?
> Thanks

Click to collapse



These two are more - less modified interactive govs . 

Sent from my OnePlus3 using XDA Labs


----------



## aocboe (Sep 3, 2018)

please add BBR TCP (Bottleneck Bandwidth and RTT)


----------



## voshchronos (Sep 6, 2018)

Is there any way to get rid of the keyboard lag (in SwiftKey, at least) when using *zzmoove*? No matter which profile I use, I get insane lag on my keyboard when typing, which makes it pretty unusable. I'm using *alucard *now to get more batterylife, but I still thing I can push an hour or two more of SoT with *zzmoove*, but these lags make it very annoying to use.
Anyone knows any tuning I can do in the parameters to resolve this?


----------



## Oswald Boelcke (Sep 6, 2018)

voshchronos said:


> Is there any way to get rid of the keyboard lag (in SwiftKey, at least) when using *zzmoove*? No matter which profile I use, I get insane lag on my keyboard when typing, which makes it pretty unusable. I'm using *alucard *now to get more batterylife, but I still thing I can push an hour or two more of SoT with *zzmoove*, but these lags make it very annoying to use.
> Anyone knows any tuning I can do in the parameters to resolve this?

Click to collapse



Are you convinced it's really an zzmoove issue? I'm also on zzmoove and using Swiftkey keyboard (currently v7.1.2.21) without any issues and certainly no lagging.
Device: Samsung GT-i9305, ROM, kernel etc. as on first screenshot.
TL;DR: Unable to confirm your observation.


----------



## voshchronos (Sep 6, 2018)

Oswald Boelcke said:


> Are you convinced it's really an zzmoove issue? I'm also on zzmoove and using Swiftkey keyboard (currently v7.1.2.21) without any issues and certainly no lagging.
> Device: Samsung GT-i9305, ROM, kernel etc. as on first screenshot.
> TL;DR: Unable to confirm your observation.

Click to collapse



I'm pretty sure. If I choose other governors (such as alucard, InteractiveX, Dance Dance), it never happens. But once I choose zzmoove, smartmax_eps or even lionfish, I get all the lag in the world. It gets to the point where all animations of the keyboard freeze, even though the text can still be written (albeit with much lag too). It's really strange.

I even tried disabling all LSpeed ram tweaks. To see if that was causing it, but it definitely wasn't.

I'm on Xiaomi MiMax 2, Hardrock kernel, by the way. Custom rom is AOSP Extended (nougat).


----------



## lekiaM (Sep 8, 2018)

Hey guys, I've got a question: is it bad for your CPU or Battery if you set Governor to Performance all the time (for the little cluster) and leaving the  Big cluster on interactive/Schedutil. 

I mean using 2 different Governors all the time? Reason why i asked is device is much smoother and the frequencies doesn't go up and down all the time (some say performance can reduce battery drain and only uses the 1900mhz when need to, it just stay at 1900mhz?)


----------



## Infy_AsiX (Sep 8, 2018)

lekiaM said:


> Hey guys, I've got a question: is it bad for your CPU or Battery if you set Governor to Performance all the time (for the little cluster) and leaving the Big cluster on interactive/Schedutil.
> 
> I mean using 2 different Governors all the time? Reason why i asked is device is much smoother and the frequencies doesn't go up and down all the time (some say performance can reduce battery drain and only uses the 1900mhz when need to, it just stay at 1900mhz?)

Click to collapse



Depends on how you use your device, the environment temperature, device and battery thermal properties. Obviously higher performance will increase heat but whether it's too much or not you need to decide. Only major concerns are possibly battery temperature being raised to levels that will reduce it's life and you may be limited by stock thermal throttling as well. The stock thermal throttling values exist for the same purpose of managing heat which the battery is singularly easily affected by. It'd be best to understand preferred battery temperature for health and monitor it in real time to test the difference.

Sent from my ZTE Axon 7 using XDA Labs


----------



## lekiaM (Sep 8, 2018)

Excellent explanation!

Reason for asking was I'm currently trying some Beta Pie builds and to filter some lags and stutters, i set my Governor to Performance (for the time being). So i was worried with my 'light' usage, i mean no games and watching heavy video's if it could affect the CPU and Battery on short or possible long term. So i guess i will be safe, and off course watching now and then the temperatures in EXKM is mandatory while heavy workloads exists. Anyway, thanks for your fast answer.


----------



## tze_vitamin (Sep 20, 2018)

I need a little  help about understanding some stuff and setup the app..
I have read a lot for a few days about this application and its a lot information to remember..so.. I just have  for now a few question about set up: 

CPU: I set CPU governor to Powerslave 
          CPU maximum frequency
          CPU minimum frequency  -do I need to put some changes here and what?

CPU voltage: I didn't change this nothing and not put apply on boot,also what settings do I need to set up here?

CPU hot plug: I apply on boot and put Auto SMP

Thermal: apply on boot , core control ON, VVD Restriction ON

GPU: apply on boot.  GPU governor: simply_on demand

Battery: apply on boot. USB fast charging ON

I/O scheduler:  apply on boot ON

                          internal storage , scheduler , cfg
                          Read ahead 1024kb

                          External storage , scheduler ,cfg
                          Raed ahead 1024kb

Low memory killer: apply on boot 
                                   Profile: agresive



This is my setup,this is something that I read and on top of that use these settings.

Is this good or bad??

Samsung Galaxy Note 4 snapdragon sm-n910t T-Mobile
I have custom ROM  Resurrection remix 8.1.0
With built on Kernel.
Magisk root

Can some help me and tell me what is the best setup for this ROM and kernel.  For better battery performance, ram memory.. And other stuff that can make phone smooth and fast..

The one thing that I first notice is that when I turn on fast charging and apply on ,my phone is charging much faster then the day before.. I can't believe that only one hour is needed to full battery.. 
Is that good or bad?  Charging battery so fast? I didn't used to do that bad ,damn..this is really fast charging..


----------



## DaveedDB (Sep 20, 2018)

jjoeshua;77668953
Samsung Galaxy Note 4 snapdragon sm-n910t T-Mobile
I have custom ROM Resurrection remix 8.1.0
With built on Kernel.
Magisk root

Can some help me and tell me what is the best setup for this ROM and kernel. For better battery performance said:
			
		

> Best to ask in your phone's thread buddy,and fast charging your phone will cause more heat and will potentially decrease the life ,but note 4 have removable batteries if I recall correctly you shouldn't worry

Click to collapse


----------



## MariaGamerVIP (Sep 24, 2018)

Very nice guide but i havent uderstand how i can change my cpu governor. in Kernel Adiutor i have  phantom and i want to go Lionheart for gaming perfomance (phantom governor already installed with kernel)im on N9005 android 6.0.1 Aspire Team C9 V5 Rom Kernel Phantom D.v.1.2y)


----------



## Gregbol (Sep 24, 2018)

Hello.
You must in etc / init.d / 00modules remove the # in front of the governor that you want to see in kernel auditor then restart.
If it is not very clear do some research on the phantom kernel forum you will find what you are looking for.

Envoyé de mon SM-N930F en utilisant Tapatalk


----------



## semasapik96 (Sep 27, 2018)

I'm so jealous with you man! Best guide I've ever seen on xda. Keep it up :fingers-crossed:


----------



## hopecore777 (Sep 29, 2018)

Can someone give an info about interactiveplus?


----------



## Safiqul (Sep 30, 2018)

What about lion fish kernel for day to day use.??why most of custom kernel doesn't give lionfish governor.Thanks for your excellent detailed guide.It helped a lot.


----------



## dilidani (Oct 18, 2018)

Hello guys! what would you choose from bfq-noop-deadline-maple?
I have OP3T with caesium kernel. Seems like noop is the best, looking for balanced usage between performance and battery life.


----------



## Oswald Boelcke (Oct 18, 2018)

dilidani said:


> Hello guys! what would you choose from bfq-noop-deadline-maple?
> I have OP3T with caesium kernel. Seems like noop is the best, looking for balanced usage between performance and battery life.

Click to collapse



I'm convinced you read the OP and its following post prior to posting as it's usual best pratice. I'm just wondering why you divert from the recommendations at the bottom of post #3.


----------



## Saber (Oct 20, 2018)

Safiqul said:


> What about lion fish kernel for day to day use.??why most of custom kernel doesn't give lionfish governor.Thanks for your excellent detailed guide.It helped a lot.

Click to collapse



CPU governor list of each kernel depends on what the kernel developer likes. You can always request the developer to add it in, assuming that it works fine on your device.


----------



## Saber (Oct 20, 2018)

dilidani said:


> Hello guys! what would you choose from bfq-noop-deadline-maple?
> I have OP3T with caesium kernel. Seems like noop is the best, looking for balanced usage between performance and battery life.

Click to collapse



What's wrong with noop? I already gave a list of recommended schedulers in the OP.


----------



## unknown_one (Nov 13, 2018)

What's the best I/O Scheduler for battery life?


----------



## GuestK0079 (Nov 13, 2018)

unknown_one said:


> What's the best I/O Scheduler for battery life?

Click to collapse



You can start by reading the first page...


----------



## DaveedDB (Nov 13, 2018)

Dejan Sathanas said:


> You can start by reading the first page...

Click to collapse



But why ? Who reads now anyway?


----------



## brossovitch (Nov 13, 2018)

Read?

Sent from my ONEPLUS A6003 using Tapatalk


----------



## unknown_one (Nov 13, 2018)

I see. Thanks anyway.


----------



## eliezerjk90 (Nov 14, 2018)

DaveedDB said:


> But why ? Who reads now anyway?

Click to collapse



Yeah. Why bother reading when you can just ask? ?


----------



## Saber (Nov 14, 2018)

eliezerjk90 said:


> Yeah. Why bother reading when you can just ask? ?

Click to collapse



I'm totally fine with people asking questions in this thread. 

Only thing is that when people ask the same questions over again, I would start by learning how to use the search function or direct people to read the OP carefully 

Btw, I should be able to make further improvements to the OP now. 

Regards, Saber


----------



## eliezerjk90 (Nov 14, 2018)

Saber said:


> I'm totally fine with people asking questions in this thread.
> 
> Only thing is that when people ask the same questions over again, I would start by learning how to use the search function or direct people to read the OP carefully
> 
> ...

Click to collapse



Haha. It's sarcasm dude. Xda nowadays is full with people asking question about things already mentioned in OP and/or discussed many times before. They're simply just too lazy to do their own work and ask so others do the work for them...


----------



## Saber (Nov 14, 2018)

eliezerjk90 said:


> Haha. It's sarcasm dude. Xda nowadays is full with people asking question about things already mentioned in OP and/or discussed many times before. They're simply just too lazy to do their own work and ask so others do the work for them...

Click to collapse



Gotcha. Wanted to make my point to visitors of this thread new and old


----------



## Nyuubi (Nov 14, 2018)

Hi, your post is really helpful to make my kernel customisation choices, however I don't see info about some governors on which I would like to have your input. These governors are blu_shedutil (I heard it is a tweaked version of shedutil) and pwrutilx (again based on shedutil).  Would love to see your analysis on those.


----------



## BrauliX (Dec 12, 2018)

Amazing info, thx


----------



## yogeshr699 (Jan 20, 2019)

Wow thanks alot...that's alot of info at a single place...spent more than an hour tuning my system n never knew how time went by...


----------



## audianer (Jan 30, 2019)

Hey,

i have a Galaxy S7 with 32GB ROM and i´m searching for the best I/O Scheduler and read ahead for fast app start and multitasking. 

Any ideas? tipps?

---------- Post added at 01:13 PM ---------- Previous post was at 01:12 PM ----------

Hey,

i have a Galaxy S7 with 32GB ROM and i´m searching for the best I/O Scheduler and read ahead for fast app start and multitasking. 

Any ideas? tipps?


----------



## KChoudhry (Jan 30, 2019)

Best governer for battery life and performance i.e balanced for oneplus one running arrow os 9.0 with thunder kernel v8s?? 


Sent from my OnePlus One using XDA Labs


----------



## Iliyena (Jan 30, 2019)

KChoudhry said:


> Best governer for battery life and performance i.e balanced for oneplus one running arrow os 9.0 with thunder kernel v8s??

Click to collapse



I'd ask in the kernel or ROM thread for getting people having tested to answer  And try diffrent gov every 2 days or so to see what suits you! If the battery is getting old nothing helps better then buying a new one 

Sent from my Nokia 7 plus using XDA Labs


----------



## Fusionist (Jan 30, 2019)

audianer said:


> Hey,
> 
> i have a Galaxy S7 with 32GB ROM and i´m searching for the best I/O Scheduler and read ahead for fast app start and multitasking.
> 
> ...

Click to collapse



Sioplus, deadline

---------- Post added at 08:54 PM ---------- Previous post was at 08:51 PM ----------




KChoudhry said:


> Best governer for battery life and performance i.e balanced for oneplus one running arrow os 9.0 with thunder kernel v8s??

Click to collapse



By my research 
Balanced /  performance:  interactivex for 4 core, schedutil for 8 core 
Battery : chill / alucard 

You must turn on hotplug, in my case lazyplug is the best at eco performance handling interactivex gov


----------



## KChoudhry (Jan 30, 2019)

Fusionist said:


> By my research
> Balanced / performance: interactivex for 4 core, schedutil for 8 core
> Battery : chill / alucard
> 
> You must turn on hotplug, in my case lazyplug is the best at eco performance handling interactivex gov

Click to collapse



What is hotplug?, How to enable it using Kernel Adiutor, how to select a particular hotplug and can you explain what it does? 
And interactivex is not available for my kernel, but interactive is available what is the difference? 
Sent from my OnePlus One using XDA Labs


----------



## Saber (Jan 31, 2019)

KChoudhry said:


> What is hotplug?, How to enable it using Kernel Adiutor, how to select a particular hotplug and can you explain what it does?
> And interactivex is not available for my kernel, but interactive is available what is the difference?

Click to collapse



TL;DR: Hotplug disables cores in order to save battery. However, it is old technology and now most people have their cores always on.

You should be able to find it under the hotplug tab in kernel auditor.

For difference between interactive and its x variant, please read the OP.


----------



## Saber (Jan 31, 2019)

Dna10 said:


> Hi, your post is really helpful to make my kernel customisation choices, however I don't see info about some governors on which I would like to have your input. These governors are blu_shedutil (I heard it is a tweaked version of shedutil) and pwrutilx (again based on shedutil). Would love to see your analysis on those.

Click to collapse



I'll have a look at them soon 

I myself am quite inexperienced with regards to EAS, but I have been exposing myself to more EAS kernel recently.


----------



## Saber (Jan 31, 2019)

audianer said:


> Hey,
> 
> i have a Galaxy S7 with 32GB ROM and i´m searching for the best I/O Scheduler and read ahead for fast app start and multitasking.
> 
> ...

Click to collapse



Ideas and tips have already been provided in the OP. Look under "best overall schedulers".

As for read ahead, you'll need to find a sweet spot. Use the OP to guide you, and then select the one that gives the best throughput/performance under your own testing.


----------



## Fusionist (Jan 31, 2019)

KChoudhry said:


> What is hotplug?, How to enable it using Kernel Adiutor, how to select a particular hotplug and can you explain what it does?
> And interactivex is not available for my kernel, but interactive is available what is the difference?

Click to collapse



Hotplug including at your supported kernel. Please choose kernel with hotplug, interactivex more snappier cause its enabling 1 step more clock than interactive. But interactive is fine


----------



## drstereos (Feb 3, 2019)

any info about anxiety I/O scheduler??


----------



## Saber (Feb 4, 2019)

drstereos said:


> any info about anxiety I/O scheduler??

Click to collapse



I've found a bit of info on anxiety io scheduler and will include it next time I update the OP


----------



## Walden0 (Feb 4, 2019)

Saber said:


> I've found a bit of info on anxiety io scheduler and will include it next time I update the OP

Click to collapse



Thankyou teacher


----------



## Saber (Feb 5, 2019)

*The OP has been updated*

Hi everyone, 

It has been a while since I last updated the OP and there were some things I have kept in a backlog (some that I still have to do). 

Here are today's changes:

```
05/02/19:
- Added Anxiety IO scheduler thanks to @drstereos and @kdrag0n
- Added pwrutilx and blu_schedutil thanks to @Dna10 and @ZeroInfinity
```

Regards, 
Saber


----------



## drstereos (Feb 5, 2019)

pixutil CPU governor!!!


----------



## acuicultor (Feb 5, 2019)

drstereos said:


> pixutil CPU governor!!!

Click to collapse



I took pixel3 schedutil and renamed to pixutil to have both, default schedutil provided by oem and pixel3 one together , that's explained in the commit message which import pixutil to my kernel, i think there's no reason to explain what pixutil does cuz it's basically schedutil renamed.


----------



## drstereos (Feb 5, 2019)

acuicultor said:


> I took pixel3 schedutil and renamed to pixutil to have both, default schedutil provided by oem and pixel3 one together , that's explained in the commit message which import pixutil to my kernel, i think there's no reason to explain what pixutil does cuz it's basically schedutil renamed.

Click to collapse



thanks!!!


----------



## MrPhilo (Feb 6, 2019)

Fiops has been around for a while but it's not really used as much still. I'm just curious why cfq is still used more when fiops is like the better version than it for ssd/ufs?


----------



## raptorddd (Feb 14, 2019)

there are a couple of governors missing in the scheduletil sorry if its been discussed.


----------



## Saber (Feb 15, 2019)

MrPhilo said:


> Fiops has been around for a while but it's not really used as much still. I'm just curious why cfq is still used more when fiops is like the better version than it for ssd/ufs?

Click to collapse



CFQ has had a good record in terms of throughput and stability. It has been around for longer than FIOPS, and is in the mainline linux kernel. IIRC, FIOPS isn't in the mainline linux kernel, and won't be as Linux shifts from single-queue schedulers (e.g. Deadline, Noop) to multi-queue (BFQ, Kyber, None, mq-deadline).


----------



## Walden0 (Mar 15, 2019)

Is there nothing about 'align windows' or i just missed it?


----------



## tehrzky (Mar 17, 2019)

im wondering why they dont add anymore governor on their new kernel i always see schedutil ? or because schedutil is the best thats why they dont add anymore governor.?


----------



## jcmm11 (Mar 17, 2019)

tehrzky said:


> im wondering why they dont add anymore governor on their new kernel i always see schedutil ? or because schedutil is the best thats why they dont add anymore governor.?

Click to collapse



Quoting from the Kirisakura kernel thread for the Pixel 3 XL

"Don´t change the default cpu governor schedutil! That´s important or you´ll basically lose every single CPU optimization on your pixel."


----------



## tehrzky (Mar 18, 2019)

jcmm11 said:


> Quoting from the Kirisakura kernel thread for the Pixel 3 XL
> 
> "Don´t change the default cpu governor schedutil! That´s important or you´ll basically lose every single CPU optimization on your pixel."

Click to collapse



i see. tnx for the info. because i miss the feature of other governor like auto turn off of cpu when you observe it on the cpu stat some cores turn off automatically and on when when needed..


----------



## Haldi4803 (Mar 19, 2019)

tehrzky said:


> im wondering why they dont add anymore governor on their new kernel i always see schedutil ? or because schedutil is the best thats why they dont add anymore governor.?

Click to collapse



SchedUtil = EAS in usage.
So the whole Governor thing is not inside the Governor anymore but inside the Energy Aware Scheduling.


----------



## Tiz92 (Mar 29, 2019)

could you also explain which EAS governors do? I for exmaple have darkutil schedalucard blu schedutil helix schedutil and so on on my kernen but I have no idea which is better for battery or performance.


----------



## mealzihad (Apr 3, 2019)

Which cpu governor is best to use for best battery life and no lags.


----------



## Wolfcity (Apr 3, 2019)

mealzihad said:


> Which cpu governor is best to use for best battery life and no lags.

Click to collapse



Depends on your device, OS and personal usage.
This thread is made for finding out what settings are worth to try. There is no 'save battery and no lags" setting for everyone. Interactive is a governor that works good for a lot of people, the rest is a bit trial and error.


----------



## mealzihad (Apr 4, 2019)

Wolfcity said:


> Depends on your device, OS and personal usage.
> This thread is made for finding out what settings are worth to try. There is no 'save battery and no lags" setting for everyone. Interactive is a governor that works good for a lot of people, the rest is a bit trial and error.

Click to collapse



I am using htc m9 running with aicp custom rom.by default set to elementalX governor.


----------



## MattP410 (Apr 6, 2019)

Is it possible to change the parameters of let's say interactive governor to interactivex, to add extra options for governors within my kernel?  Or do additional governors have to be baked into the kernel?


----------



## jcmm11 (Apr 6, 2019)

MattP410 said:


> Is it possible to change the parameters of let's say interactive governor to interactivex, to add extra options for governors within my kernel? Or do additional governors have to be baked into the kernel?

Click to collapse



If I understand you correctly then they have to be baked into the kernel. You can't take a kernel that has an interactive governer and externally modify it somehow to enable an interactivex governor. You'd have to modify and recompile the kernel.


----------



## MattP410 (Apr 6, 2019)

jcmm11 said:


> If I understand you correctly then they have to be baked into the kernel. You can't take a kernel that has an interactive governer and externally modify it somehow to enable an interactivex governor. You'd have to modify and recompile the kernel.

Click to collapse



That's what I was thinking.  I was just hoping it was possible.  Thank you so much for the response!


----------



## MattP410 (Apr 9, 2019)

jcmm11 said:


> If I understand you correctly then they have to be baked into the kernel. You can't take a kernel that has an interactive governer and externally modify it somehow to enable an interactivex governor. You'd have to modify and recompile the kernel.

Click to collapse



Is there a way to improve the existing parameters of the interactive governor, that the kernel would even allow to exist?  I know there's a lot you can change, but from what I understand the changes won't persist.  Would this be a waste of time to attempt to "mimic" a better governor, or is interactive the best I'm going to get?  Sorry if my questions are annoyingly noobish.  There's just no custom kernels with different governors, schedulers, etc., and I have no idea how to write code to bake these into an existing kernel.  I may just be out of my depth.


----------



## Buff99 (Apr 9, 2019)

MattP410 said:


> Is there a way to improve the existing parameters of the interactive governor, that the kernel would even allow to exist? I know there's a lot you can change, but from what I understand the changes won't persist. Would this be a waste of time to attempt to "mimic" a better governor, or is interactive the best I'm going to get? Sorry if my questions are annoyingly noobish. There's just no custom kernels with different governors, schedulers, etc., and I have no idea how to write code to bake these into an existing kernel. I may just be out of my depth.

Click to collapse



You can use an app like kernel aduitor to reconfigure your kernel settings, including governor, then apply them every boot.

A well configured interactive gov will probably be as good as you can get with a fixed kernel and i would persevere with that. There are a few tutorial threads on XDA about setting up interactive to search for.

E.g.
https://forum.xda-developers.com/nexus-6p/general/guide-advanced-interactive-governor-t3290605


----------



## MattP410 (Apr 9, 2019)

Buff99 said:


> You can use an app like kernel aduitor to reconfigure your kernel settings, including governor, then apply them every boot.
> 
> A well configured interactive gov will probably be as good as you can get with a fixed kernel and i would persevere with that. There are a few tutorial threads on XDA about setting up interactive to search for.
> 
> ...

Click to collapse



Thank you so much for the link, as well as the advice.  I've seen the configuration settings, but I understand Greek better than I do when I'm looking at the various settings.  I'll eventually figure it out though.  Thanks again!


----------



## marcdw (Apr 9, 2019)

MattP410 said:


> Thank you so much for the link, as well as the advice.  I've seen the configuration settings, but I understand Greek better than I do when I'm looking at the various settings.  I'll eventually figure it out though.  Thanks again!

Click to collapse



Yeah, learning the tunables will take awhile.
Have a look at GovTuner and L Speed (uses GovTuner) to get a fairly optimized setup. The dev is looking to improve and update the tool, too.

https://forum.xda-developers.com/showthread.php?t=3407828

[MOD] Gov Tuner Project (November 10th 2018)

See the last post, which links to L Tuner thread asking for input from users.


LG G3 D851, AOSPA-L ROM, Nebula Rev9.3 Kernel, microG (NoGapps), MultiROM, XDA Legacy


----------



## MattP410 (Apr 10, 2019)

marcdw said:


> Yeah, learning the tunables will take awhile.
> Have a look at GovTuner and L Speed (uses GovTuner) to get a fairly optimized setup. The dev is looking to improve and update the tool, too.
> 
> https://forum.xda-developers.com/showthread.php?t=3407828
> ...

Click to collapse



Thanks!  I've been using L Speed for years.  I'm impressed with the results.  I'll check out GovTuner as well.  I've always kept the CPU optimizer set to default with L Speed, but he's just added different profiles for the optimizer.  It would be nice to just skip having to learn all the tunable parameters myself, but I'd eventually like to know what they all do.  Thanks again!


----------



## GWARslave119 (Apr 28, 2019)

Given the hardware updates and whatnot since this post was made, wouldn't a refresh of the governors be a good idea?  What was good then might not be good now no?


----------



## DB126 (Apr 28, 2019)

GWARslave119 said:


> Given the hardware updates and whatnot since this post was made, wouldn't a refresh of the governors be a good idea? What was good then might not be good now no?

Click to collapse



For the most part modern devices are well tuned for typical ROMs and workloads. Governor swapping/tweaking has fewer upsides and a boat load of deoptimization potential relative to popular hardware from just a few years ago. There will always be situational outliers and enthusiasts looking to squeak out a few more dits on some benchmark or perceived performance metric. Might have a blind spot but I don't see governor/scheduler tuning being a thing moving forward.


----------



## Haldi4803 (Apr 28, 2019)

GWARslave119 said:


> Given the hardware updates and whatnot since this post was made, wouldn't a refresh of the governors be a good idea?  What was good then might not be good now no?

Click to collapse



Modern Devices from Snapdragon 835 forward should run with EAS. Everything else is a waste.


----------



## 3v3rdim (May 12, 2019)

Haldi4803 said:


> Modern Devices from Snapdragon 835 forward should run with EAS. Everything else is a waste.

Click to collapse



What snapdragon 805

---------- Post added at 12:03 AM ---------- Previous post was at 12:03 AM ----------




Haldi4803 said:


> Modern Devices from Snapdragon 835 forward should run with EAS. Everything else is a waste.

Click to collapse



What about snapdragon 805?...


----------



## kewinhw (May 15, 2019)

on a device with big and little cluster
since i rarely play games on my phone wouldn't it help to save juice if i put the little cluster on schedutil (default) and big cluster on conservative, could it have any benefits?


----------



## casu95 (May 16, 2019)

MAGISTRAL work. Furthermore, the guide is updated. ovation, is the minimum.


----------



## kemdroid (May 16, 2019)

Hey guys just a quick question, which of these are best for excellent battery life? 
darkutil, helix, schedalucard, blu_schedutil, pwrutilx, electroutil)


----------



## casu95 (May 16, 2019)

good evening everyone,
I would like to know if anyone has to suggest some good kernel setup to improve the battery without lowering the performance too naturally, for an old s6 g920f, if you can serve it has the ultimate nougat s8 ROM + full port v3 and ultimate kernel and I use MTweaks. I've been playing for a few days but I understand very little of it (I want to clarify that I learned that little with this "Bible" of the kernel).


----------



## Iliyena (May 16, 2019)

casu95 said:


> good evening everyone,
> I would like to know if anyone has to suggest some good kernel setup to improve the battery without lowering the performance too naturally, for an old s6 g920f, if you can serve it has the ultimate nougat s8 ROM + full port v3 and ultimate kernel and I use MTweaks. I've been playing for a few days but I understand very little of it (I want to clarify that I learned that little with this "Bible" of the kernel).

Click to collapse



When I packed a G920F i did like to kill off 2 of the A57 cores if possible, then limit them to 1,8-2.0GHz, Lowering the small cores to 1.2 GHz (Should not stutter, since the all go to 1.3 GHz at every stroke and poke before and this only removes 300MHz of their max performance, keeping them very very effective).

Used Zen for IO Sheduler back then, there might be ZenV2 or such that is a tad better nowadays... Used different governors for the small cores until I got the "best" deep-sleep since they got that boost anyways when using the phone. the bIG cores were running bioshock some time and then some dancedance... depends on usage. I used the Star Wars game Galaxy of Heroes, if it were free of stutters It were all good to me


----------



## casu95 (May 17, 2019)

Iliyena said:


> When I packed a G920F i did like to kill off 2 of the A57 cores if possible, then limit them to 1,8-2.0GHz, Lowering the small cores to 1.2 GHz (Should not stutter, since the all go to 1.3 GHz at every stroke and poke before and this only removes 300MHz of their max performance, keeping them very very effective).
> 
> Used Zen for IO Sheduler back then, there might be ZenV2 or such that is a tad better nowadays... Used different governors for the small cores until I got the "best" deep-sleep since they got that boost anyways when using the phone. the bIG cores were running bioshock some time and then some dancedance... depends on usage. I used the Star Wars game Galaxy of Heroes, if it were free of stutters It were all good to me

Click to collapse



thank you very much for the advice, but I think I will use the spectrum app to make things easier and not have so many problems. I currently have no time to experiment and think about the best settings. which I also see is also difficult.


----------



## iSEKAI (May 21, 2019)

i'm using extreme kernel v14.11
back then when i haven't tweaked kernel auditor , my phone would run on +-600 mhz when idle and only go up when i did something, but now adlfter i installed the extreme kernel and tweaked the extreme kernel the core cpu would rather stays at max freq on 2.4ghz which and rarely to comes down .. 
does it some cpu tuning first for it to run smoothly but battery friendly ?
i'm using schedutil and blu_schedutil cpu governor cz i dunno what pixutil and smurfutil does ..
kinda confused for a newb like me


----------



## ferk42 (May 27, 2019)

can someone tell me how the i / o scheduler anxiety works and if it is effective?


----------



## rickysidhu_ (Jun 3, 2019)

Any chance we can get descriptions on mq io schedulers? (mq-deadline, Kyber)

Thanks in advance!


----------



## testeraphy (Jun 4, 2019)

rickysidhu_ said:


> Any chance we can get descriptions on mq io schedulers? (mq-deadline, Kyber)
> 
> Thanks in advance!

Click to collapse



available on Arch wiki


----------



## Predatorhaze (Aug 14, 2019)

SOmeone got advice how to boost some performance on games with pwrutilx governor?


----------



## Tyakrish (Aug 21, 2019)

Haldi4803 said:


> SchedUtil = EAS in usage.
> So the whole Governor thing is not inside the Governor anymore but inside the Energy Aware Scheduling.

Click to collapse



What about those custom kernels which are actually based on EAS and have schedutil as default governor, but also have HMP governors like interactive, ondemand etc ?

If I switch the governor from schedutil to interactive will the interactive governor work properly ? Or will it be completely non-functional, since there is no support for HMP governors at all ?

If interactive is non-functional, does this mean that including it in the EAS custom kernel is useless ?

@Saber could you please divide all the cpu governors in your post as EAS governors and HMP governors ?
So that custom kernel devs can understand which governors to add or remove, especially for an EAS kernel...


----------



## Saber (Aug 21, 2019)

Tyakrish said:


> @Saber could you please divide all the cpu governors in your post as EAS governors and HMP governors ?
> So that custom kernel devs can understand which governors to add or remove, especially for an EAS kernel...

Click to collapse



I'll see what I can do.

Saber


----------



## azxn (Sep 2, 2019)

What's the difference between hotplug and governor?


----------



## Timmmmaaahh! (Sep 2, 2019)

azxn said:


> What's the difference between hotplug and governor?

Click to collapse



Read this useful post by the OP:


Saber said:


> TL;DR: Hotplug disables cores in order to save battery. However, it is old technology and now most people have their cores always on.
> 
> You should be able to find it under the hotplug tab in kernel auditor.
> 
> For difference between interactive and its x variant, please read the OP.

Click to collapse



The governor is the profile you select that will manage a great number of kernel related values, hotplugging can be a part of it. Someone smarter than me will correct that if I'm not (entirely) right ^_^


----------



## azxn (Sep 2, 2019)

Timmmmaaahh said:


> Read this useful post by the OP:
> 
> The governor is the profile you select that will manage a great number of kernel related values, hotplugging can be a part of it. Someone smarter than me will correct that if I'm not (entirely) right ^_^

Click to collapse



Finally after a lot of googling. Thank you


----------



## XDADoog (Sep 4, 2019)

Question (from a noob):

Does anyone know if there´s an option or a rom that has kinda like a built-in option to change governors? not the settings, just the governor per se; something like an option on the battery setting to select a governor, then reboot and work with that governor? (not dealing with the option, just changing the governor on the next reboot.

Also, what is more efficient: to go through each frequency or to go to pre-selected frequency?

I think that; battery wise; a pre-selected frequency would be faster but don´t know if would be efficient regarding the workload.


----------



## Tibiti (Sep 5, 2019)

Timmmmaaahh said:


> Read this useful post by the OP:
> 
> The governor is the profile you select that will manage a great number of kernel related values, hotplugging can be a part of it. Someone smarter than me will correct that if I'm not (entirely) right ^_^

Click to collapse



That post pretty much sums it all up.
Before the SoC's (complete boards with everything integrated a.k.a your phones motherboard; ex. Qualcomm Snapdragon, Kirin, OMAP, Samsung Exynos) got so efficient people were disabling some of the cores to save power.
But, since the new ones are way more efficient, switching on and off uses more power than leaving it on and so its not done (it became pointless/inefficient saving electricity that way) - hence hotplugging is removed.
Hotplug was (only) switching cores off and back on, governor sets variables and system settings and so on. In the beginning they were separate pieces of code, later (the mentioned X versions) built the hotplugging logic into the kernel (more efficient code-wise and less error-prone because it could be tailored to a specific kernel/device) .

---------- Post added at 10:42 PM ---------- Previous post was at 10:19 PM ----------




XDADoog said:


> Question (from a noob):
> 
> Does anyone know if there´s an option or a rom that has kinda like a built-in option to change governors? not the settings, just the governor per se; something like an option on the battery setting to select a governor, then reboot and work with that governor? (not dealing with the option, just changing the governor on the next reboot.
> 
> ...

Click to collapse



Use apps to change govs - you fed root for that.
When the system boots the default settings are used, then, when the app runs it sets the changes (usually after a set and adjustable time out).
When devs create their custom kernels they usually test out various settings and scenarios and will set up the one that works for THEM best (they know very well what and how to test, usually comes down to best user experience unless they state the aim specifically, like say gaming).
They can also set up profiles (purely a set of settings). This if course will become the default that is set while booting the device.
Device vendors aren't spending much time to optimise (read test different sets of settings as it is too time consuming and so foookin expensive) so they'll go with time proven settings and governors, because 'it works best for most average users' and thus creates the least overhead on support departments (and they are right in many ways). Also makes selling new phones easier (newer must be better right?).
Every chip is and behaves different, you can spend endless time searching for the best settings and still not find it. I
Unless you have an older chip (like 3+ wars old) or a castrated (low(er) performance versions of the top end) one, there isn't much of a gain in tweaking it. Just thought you should know. So my answer for your last question is that lots of people spent lots of time debating and proving both, but it all depends (how would you know what freq should be preselected?)


----------



## XDADoog (Sep 9, 2019)

Thanks for the replies. Is quite a handful all the info regarding governors, schedulers and stuff. So far I just changed my interactive to conservative and disabled the touch boost (phone used to get hot while gaming); plus the i/o scheduler. The phone feels more smooth and battery wise it doesn´t eat up as much.


----------



## Saber (Sep 10, 2019)

*Guide update*

Hi all, 

Just updated the guide with headings for HMP and EAS CPU governors. I've also added a Multi-Queue I/O scheduler section for people with newer devices. 

Will be working on this guide in the next few days. 

Saber


----------



## audianer (Sep 11, 2019)

Hey, I have a little problem with my Galaxy S7 Edge. It is totally fluid only when playing it stutters something. When I set the CPU Governor to "Performance" everything is smooth. Here are the settings of my "Interactive" Governor. Does anyone have any tips what I should change here so that the games run smoothly? I tried to achieve something with the information in the Startpost, but did not get better. Thank you!


----------



## Andreja01 (Sep 11, 2019)

audianer said:


> Hey, I have a little problem with my Galaxy S7 Edge. It is totally fluid only when playing it stutters something. When I set the CPU Governor to "Performance" everything is smooth. Here are the settings of my "Interactive" Governor. Does anyone have any tips what I should change here so that the games run smoothly? I tried to achieve something with the information in the Startpost, but did not get better. Thank you!

Click to collapse



Seeing that you are running android 9 one ui u need to flash oreo gpu libs that come with moro 7.0.1 or you can search the BD nfe v4 thread for libs alone


----------



## audianer (Sep 11, 2019)

I'm on BD 4.0 with Moro 7.1. Aida 64 shows r22 libs


----------



## Andreja01 (Sep 11, 2019)

audianer said:


> I'm on BD 4.0 with Moro 7.1. Aida 64 shows r22 libs

Click to collapse



I dont think there is much you can do over that


----------



## 3v3rdim (Nov 19, 2019)

With autosmp is anyone's downloads slower?


----------



## xdaheaven (Nov 22, 2019)

Thank You Sir


----------



## ..Cory.. (Nov 28, 2019)

Can anyone point me in the right direction for research into these GPU governors? Specifically Qualcomm's msm options.

Much appreciated!


----------



## Haldi4803 (Nov 29, 2019)

Most of them are broken and don't even work IIRC.


----------



## 3v3rdim (Dec 6, 2019)

How do you tweak waiting time for opening apps to be shorter when on interactive governor?


----------



## surajloharia (Dec 19, 2019)

Please Add about BBR TCP


----------



## jmadiaga (Jan 1, 2020)

thanks!


----------



## TensorLake (Jan 4, 2020)

There's a new io scheduler called Depression
Couldn't find any docs about it..


----------



## kostas gp (Jan 4, 2020)

TensorLake said:


> There's a new io scheduler called Depression
> Couldn't find any docs about it..

Click to collapse



Oh, that's depressing...


----------



## kemdroid (Jan 5, 2020)

kostas gp said:


> Oh, that's depressing...

Click to collapse



Lol


----------



## 1freeze (Jan 15, 2020)

Someone knows about Governor "pixel_smurfytil"??? Dark Ages kernel have this.

Отправлено с моего Redmi 5 Plus через Tapatalk


----------



## Hellboy4 (Feb 2, 2020)

Is that possible to add CPU boost guide ?
Like caf CPU boost 
Thanks you for the guide. 
Learn alot from here


----------



## enweazudaniel (Mar 1, 2020)

Great guide...I've made some scripts with from this guide for pixel and  pixel XL rooted users only
https://forum.xda-developers.com/pixel/themes/tweaks-kernel-governors-modules-o-t4039767


----------



## interprises (Mar 22, 2020)

good morning, forgive me for my english, i have nr. 3 fire 7 with lineage 14.1, with all fixes installed. installing smartkerner the tablets restart at random .. all 3 .. any ideas?


----------



## newton378 (Mar 28, 2020)

Thank you for this. Great guide.


----------



## SauravDharwadkar (Apr 3, 2020)

*How to add some of them in kernel source?*

I'm thinking of adding some of them in kernel source as per pubg players and battery lover so any way or tutorial how to add in kernel source


----------



## lucfig (May 28, 2020)

Thanks for the hard work.
I've been looking for information about the schedutil tunables but it is hard to find something.
Subscribing to this thread in case it gets updated with schedutil tunables.


----------



## denvinbo (Jun 16, 2020)

I dont see SchedutilX in CPU governor and been wanting to ask.

Is SchedutilX a variant of Schedutil? How is its performance compared to schedutil?


----------



## lapirado (Oct 17, 2020)

What a great guide! Thanks a lot


----------



## kongacute (Dec 12, 2020)

Does anyone know about "energy_step" using in S20? I cannot find any information about this scaling governer.


----------



## GWARslave119 (Dec 12, 2020)

anyone familair with this setup here? only time ive seen it and its with an updated Franco Kernel Manager... https://media4.giphy.com/media/c0q2OHX1wX1Ok05kvc/giphy.gif


----------



## kemdroid (Dec 15, 2020)

denvinbo said:


> I dont see SchedutilX in CPU governor and been wanting to ask.
> 
> Is SchedutilX a variant of Schedutil? How is its performance compared to schedutil?

Click to collapse



Yea it is. Modified schedutil. Maybe better on battery.


----------



## przemo_one (Mar 11, 2021)

Currently barry_allen gives my old Galaxy s5 neo sm g903f boost at cost of slightly higher battery usage


----------



## krkhaha (Jul 31, 2021)

I can't see nothing about CPU governor sschedutil. Or maybe I'm blind.


----------



## D0CT0RFATE (Oct 13, 2021)

Is the blu_active governor good for gaming?


----------



## blackhawk_LA (Oct 13, 2021)

krkhaha said:


> I can't see nothing about CPU governor sschedutil. Or maybe I'm blind.

Click to collapse



OP has not been updated for a while. It would be great to know about how to tune it since it seems like it's the default governor nowadays


----------



## Haldi4803 (Nov 5, 2021)

blackhawk_LA said:


> OP has not been updated for a while. It would be great to know about how to tune it since it seems like it's the default governor nowadays

Click to collapse



Uhm..... No.

SchedUtil is not a "governor" in the common sense. Nowadays most phones don't use reactive governors which change based on the Load they had but EAS (Energy aware Scheduling) which preactive sets CPU frequency based on the expected Load.
There are some modifications that can be made via SchedUtil, but most settings are done via Energy Profile deeper in the system. No chance to fiddle with them.


----------



## rastaboy0611 (Feb 24, 2022)

Pls share best settings for increasing read write speed ...using SD845 ...


----------



## Viva La Android (Mar 9, 2022)

This is perhaps the most comprehensive, informative and  factually concise thread I've ever read on XDA. I can certainly tell you spent a great deal of time researching the material and preparing the presentation of the thread. Exceptional work. I just wanted to take a moment to thank you for your hard work and contributions. It is well done.


----------



## trottling (Jun 15, 2022)

Here I don't understand at all, where do kernel developers get planners/governors/hoplugs from?

I'm making my own kernel and I have to use probably already outdated features from other kernels or github commits, because I can't find new ones

Please explain to me


----------



## aoleary (Jun 15, 2022)

trottling said:


> Here I don't understand at all, where do kernel developers get planners/governors/hoplugs from?
> 
> I'm making my own kernel and I have to use probably already outdated features from other kernels or github commits, because I can't find new ones
> 
> Please explain to me

Click to collapse



If you're kernel is 4.x then yeah, most of this stuff is probably a bit out of date. 
It's still applicable to 3.x kernels though. 
But stay away from the hotplugs. They are totally incompatible now, in my opinion


----------



## trottling (Jun 16, 2022)

aoleary said:


> If you're kernel is 4.x then yeah, most of this stuff is probably a bit out of date.
> It's still applicable to 3.x kernels though.
> But stay away from the hotplugs. They are totally incompatible now, in my opinion

Click to collapse



My kernel version is 3.10.108, it is fully compatible


----------



## aoleary (Jun 16, 2022)

trottling said:


> My kernel version is 3.10.108, it is fully compatible

Click to collapse



You could try these https://github.com/aoleary/G4-Titan-Kernel/commit/6779c3f017b1bbaffdf8011b4a90576f67d28877
My kernel is 3.10 also


----------



## trottling (Jun 16, 2022)

aoleary said:


> You could try these https://github.com/aoleary/G4-Titan-Kernel/commit/6779c3f017b1bbaffdf8011b4a90576f67d28877
> My kernel is 3.10 also

Click to collapse



I also have links to kernels with governors for my Leeco Le 2 phone for android 9 and 11 on the 3,10,108 core, it just seems to me that they could already be outdated:









						Added bunch of governors · LineageOS/[email protected]


Contribute to LineageOS/android_kernel_leeco_msm8976 development by creating an account on GitHub.




					github.com
				












						added governors · anonymous2ch/[email protected]


Contribute to anonymous2ch/android_kernel_leeco_msm8976 development by creating an account on GitHub.




					github.com
				












						GitHub - renjian2/Overload: Custom kernel for Leeco le 2
					

Custom kernel for Leeco le 2. Contribute to renjian2/Overload development by creating an account on GitHub.




					github.com
				












						Comparing tImIbreakdown:lineage-18.1...Play4NoobWin:lineage-18.1 · tImIbreakdown/android_kernel_leeco_msm8976
					

Attention! Used rebase and push -f. Contribute to tImIbreakdown/android_kernel_leeco_msm8976 development by creating an account on GitHub.




					github.com
				




And a collection from six years ago:








						GitHub - Oct-mm/cpufreq
					

Contribute to Oct-mm/cpufreq development by creating an account on GitHub.




					github.com


----------



## Cyndaquissshhh (Jun 22, 2022)

Good guide(?)


----------



## trottling (Jun 22, 2022)

Cyndaquissshhh said:


> Good guide(?)

Click to collapse



Yes, Play4NoobWin, Anubioz and anonymous2ch made good commits, I would also recommend commits to the core from FireLord

Never add new features if you don't fully understand what they do and how they work, and do not forget about the specificity of some to the device









						GitHub - FireLord/android_kernel_lenovo_passion at FireKernel-n
					

Device kernel for Lenovo Vibe P1. Contribute to FireLord/android_kernel_lenovo_passion development by creating an account on GitHub.




					github.com


----------



## varunpilankar (Jul 28, 2022)

Not able find right file/directory to change I/O scheduler on my OnePlus 7

*Old command *
echo "noop" > /sys/block/mmcblk0/queue/scheduler

Things are very different on modern phones, it's more like legacy linux.

I found multiple directories holding scheduler file


/sys/block/sda/queue/scheduler - (I think this the one, but not sure) 
/sys/block/sdb/queue/scheduler
/sys/block/sdc/queue/scheduler
/sys/block/sdd/queue/scheduler
/sys/block/sde/queue/scheduler
/sys/block/sdf/queue/scheduler

Which one to edit? Or edit all of them?


----------



## aoleary (Jul 29, 2022)

varunpilankar said:


> Not able find right file/directory to change I/O scheduler on my OnePlus 7
> 
> *Old command *
> echo "noop" > /sys/block/mmcblk0/queue/scheduler
> ...

Click to collapse



You could do this (well, the reverse of what I did here) : https://github.com/aoleary/device_lge_g4-common/commit/c47acfeac11de17c411cc0b7f5d299471b0a784f

Or you could just change it in the kernel : https://github.com/aoleary/G4-Titan-Kernel/commit/b16a4db867ca5146cc20b4ccb6df8d667d7cfa8d


----------



## varunpilankar (Jul 29, 2022)

I'm trying to do it using shell script, as I don't use kernel app.

Also I'm trying find the right i/o scheduler in aim to reduce my android system alarms, check the below screenshot.

After reading more about this issue online, it is mainly coz of jobscheduler queue and schedule_deadline

Also with some log analysis I noticed rouge alarm from

wake: qpnp_rtc_alarm

Am I in the right direction?


----------



## lolvatveo (Aug 14, 2022)

how to edit mpdecision to enable unplug/hotplug cpu core? mpdecision hotplug seems to be disabled in kernel source for my phone.
this is mpdecision info:
Here are all configuration features and their meanings:


Single core in standby: Enable or disable to have all cores except one offline while screen's off.
Enabled: or disable MPDecision hotplug/unplug control.
Start delay: Defines the delay before MPDecision starts controlling cores
Interval: Time between each checks
Pause: If another app plug a core, MPDecision will stop controlling cores for 10 seconds.
Hotplug freq: Min/max frequency to authorize hotplug/unplug
I don't like to add any hotplug driver to my kernel, my kernel aim to be as stock as possible, I just want to edit kernel source code, compile it and add to boot.img then flash.


----------



## trottling (Aug 14, 2022)

are you using OOS with a stock kernel?
as far as I remember there seems to be no noop


varunpilankar said:


> I'm trying to do it using shell script, as I don't use kernel app.
> 
> Also I'm trying find the right i/o scheduler in aim to reduce my android system alarms, check the below screenshot.
> 
> ...

Click to collapse


----------



## varunpilankar (Aug 14, 2022)

trottling said:


> are you using OOS with a stock kernel?
> as far as I remember there seems to be no noop

Click to collapse



I'm using OOS with custom kernel - Ex kernel 2.17


----------

