High CPU with Governors like Glassfish,Fairpark (ElementalX Kernel) - Moto G5 Plus Questions & Answers

I tried the GlassFish1.2 Governor (link) with the latest ElementalX Kernel and lowest CPU Freq is 1036 MHz. What do i have to change so the CPU Freq can go down to 652Mhz? Or is it normal behavour for GlassFish?
Is it even practical to use GlassFish governor with Moto G5 Plus?
Thanks in advance

Related

Explanation of GOVERNORS.

1) Ondemand
2) Ondemandx
3) Conservative
4) Interactive
5) Interactivex
6) Lulzactive
7) Smartass
8) SmartassV2
9) Intellidemand
10) Lazy
11) Lagfree
12) Lionheart
13) LionheartX
14) Brazilianwax
15) SavagedZen
16) Userspacce
17) Powersave
18) Performance
1) Ondemand:
Default governor in almost all stock kernels. One main goal of the ondemand governor is to switch to max frequency as soon as there is a CPU activity detected to ensure the responsiveness of the system. (You can change this behavior using smooth scaling parameters, refer Siyah tweaks at the end of 3rd post.) Effectively, it uses the CPU busy time as the answer to "how critical is performance right now" question. So Ondemand jumps to maximum frequency when CPU is busy and decreases the frequency gradually when CPU is less loaded/apporaching idle. Even though many of us consider this a reliable governor, it falls short on battery saving and performance on default settings. One potential reason for ondemand governor being not very power efficient is that the governor decide the next target frequency by instant requirement during sampling interval. The instant requirement can response quickly to workload change, but it does not usually reflect workload real CPU usage requirement in a small longer time and it possibly causes frequently change between highest and lowest frequency.
2) Ondemandx:
Basically an ondemand with suspend/wake profiles. This governor is supposed to be a battery friendly ondemand. When screen is off, max frequency is capped at 500 mhz. Even though ondemand is the default governor in many kernel and is considered safe/stable, the support for ondemand/ondemandX depends on CPU capability to do fast frequency switching which are very low latency frequency transitions. I have read somewhere that the performance of ondemand/ondemandx were significantly varying for different i/o schedulers. This is not true for most of the other governors. I personally feel ondemand/ondemandx goes best with SIO I/O scheduler.
3) Conservative:
A slower ondemand which scales up slowly to save battery. The conservative governor is based on the ondemand governor. It functions like the ondemand governor by dynamically adjusting frequencies based on processor utilization. However, the conservative governor increases and decreases CPU speed more gradually. Simply put, this governor increases the frequency step by step on CPU load and jumps to lowest frequency on CPU idle. Conservative governor aims to dynamically adjust the CPU frequency to current utilization, without jumping to max frequency. The sampling_down_factor value acts as a negative multiplier of sampling_rate to reduce the frequency that the scheduler samples the CPU utilization. For example, if sampling_rate equal to 20,000 and sampling_down_factor is 2, the governor samples the CPU utilization every 40,000 microseconds.
4) Interactive:
Can be considered a faster ondemand. So more snappier, less battery. interactive is designed for latency-sensitive, interactive workloads. Instead of sampling at every interval like ondemand, it determines how to scale up when CPU comes out of idle. The governor has the following advantages: 1) More consistent ramping, because existing governors do their cpu load sampling in a workqueue context, but interactive governor does this in a timer context, which gives more consistent CPU load sampling. 2) Higher priority for CPU frequency increase, thus giving the remaining tasks the CPU performance benefit, unlike existing governors which schedule ramp-up work to occur after your performance starved tasks have completed. Interactive It's an intelligent Ondemand because of stability optimizations. Why??
Sampling the CPU load every X ms (like ondemand) can lead to under-powering the CPU for X ms, leading to dropped frames, stuttering UI, etc. Instead of sampling the CPU at a specified rate, the interactive governor will check whether to scale the CPU frequency up soon after coming out of idle. When the CPU comes out of idle, a timer is configured to fire within 1-2 ticks. If the CPU is very busy between exiting idle and when the timer fires, then we assume the CPU is underpowered and ramp to max frequency.
5) Interactivex:
This is an Interactive governor with a wake profile. More battery friendly than interactive.
6) Lulzactive:
This new find from Tegrak is based on Interactive & Smartass governors and is one of the favorites.
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.
Example:
Consider
inc_cpu_load=70
pump_up_step=2
pump_down_step=1
If current frequency=200, Every up_sampling_time Us if cpu load >= 70%, cpu is scaled up 2 steps - to 800.
If current frequency =1200, Every down_sampling_time Us if cpu load < 70%, cpu is scaled down 1 step - to 1000.
7) Smartass:
Result of Erasmux rewriting the complete code of interactive governor. Main goal is to optimize battery life without comprising performance. Still, not as battery friendly as smartassV2 since screen-on minimum frequency is greater than frequencies used during screen-off. Smartass would jump up to highest frequency too often as well.
8) SmartassV2:
Version 2 of the original smartass governor from Erasmux. Another favorite for many a people. 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 (500 mhz for GS2 by default) 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.
9) Intellidemand:
Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. Unlike what some users believe, this governor is not the replacement for OC Daemon (Having different governors for sleep and awake). 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. We can see some 'traces' of interactive governor here. Frequency scale-up decision is made based on idling time of CPU. Lower idling time (<20%) causes CPU to scale-up from current frequency. Frequency scale-down happens at steps=5% of max frequency. (This parameter is tunable only in conservative, among the popular governors )
To sum up, this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling, and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such. Intellidemand does not jump to highest frequency when screen is off.
10) Lazy:
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.
11) Lagfree:
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.
12) Lionheart:
Lionheart is a conservative-based governor which is based on samsung's update3 source. Tweaks comes from 1) Knzo 2) Morfic (MY FAVORITE DEV) The original idea comes from Netarchy. See here. 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.
To 'experience' Lionheart using conservative, try these tweaks:
sampling_rate:10000 or 20000 or 50000, whichever you feel is safer. (transition latency of the CPU is something below 10ms/10,000uS hence using 10,000 might not be safe).
up_threshold:60
down_threshold:30
freq_step:5
Lionheart goes well with deadline i/o scheduler. When it comes to smoothness (not considering battery drain), a tuned conservative delivers more as compared to a tuned ondemand.
13) LionheartX
LionheartX is based on Lionheart but has a few changes on the tunables and features a suspend profile based on Smartass governor.
14) Brazilianwax:
Similar to smartassV2. More aggressive ramping, so more performance, less battery.
15) SavagedZen:
Another smartassV2 based governor. Achieves good balance between performance & battery as compared to brazilianwax.
16) Userspace:
Instead of automatically determining frequencies, lets user set frequencies.
17) Powersave:
Locks max frequency to min frequency. Can not be used as a screen-on or even screen-off (if scaling min frequency is too low).
18) Performance:
Sets min frequency as max frequency. Use this while benchmarking!
So, Governors can be categorized into 3/4 on a high level:
1.a) Ondemand Based:
Works on "ramp-up on high load" principle. CPU busy-time is taken into consideration for scaling decisions. Members: Ondemand, OndemandX, Intellidemand, Lazy, Lagfree.
1.b) Conservative Based:
Members: Conservative, Lionheart, LionheartX
2) Interactive Based:
Works on "make scaling decision when CPU comes out of idle-loop" principle. Members: Interactive, InteractiveX, Lulzactive, Smartass, SmartassV2, Brazilianwax, SavagedZen.
3) Weird Category:
Members: Userspace, Powersave, Performance.
Regards
Avetis
Correction:Brazilianwax also falls in weird category.
Nice info in one place!
And what about wheatley, abyssplug and hotplug governors?
ThANK you for this! I've always wanted to know this information
From the giant: Galaxy Note
Cool...that makes Android even more sophisticated
Can I get & use governors?
I know I am going to sound like a noob, but I keep hearing about these, and I am interested in what they can do for me. What I cannot figure out is what they are (I see what they do) and where to get them.
My phone is rooted, but stock ROM. Can I get & use governors?
jeromepearce said:
I know I am going to sound like a noob, but I keep hearing about these, and I am interested in what they can do for me. What I cannot figure out is what they are (I see what they do) and where to get them.
My phone is rooted, but stock ROM. Can I get & use governors?
Click to expand...
Click to collapse
download "No-frills CPU control" from the market
This may explain a bit more detail => http://forum.xda-developers.com/showthread.php?t=1369817
jeromepearce said:
I know I am going to sound like a noob, but I keep hearing about these, and I am interested in what they can do for me. What I cannot figure out is what they are (I see what they do) and where to get them.
My phone is rooted, but stock ROM. Can I get & use governors?
Click to expand...
Click to collapse
A lot of people recommend using SmartAssV2 and SavagedZen, between both I've never really seen the performance differences or benefits based on my own usage. I did actually see a performance drop in the UI if I change my CPU mode from dualcore to hot plug if I use any of the custom governors.
With the performance level on the Galaxy Note, I dont think its necessary to change anything even the battery savings on this might be miniscule at best.
nbass668 said:
download "No-frills CPU control" from the market
Click to expand...
Click to collapse
Thanks for that. I can't see any better governors than SetCPU, however, although they may be applied better (SetCPU seems to stop my phone sleeping, kind of a Red-Bull effect?)
---------- Post added at 12:20 PM ---------- Previous post was at 12:17 PM ----------
aatjitra said:
This may explain a bit more detail => http://forum.xda-developers.com/showthread.php?t=1369817
Click to expand...
Click to collapse
OK, so it appears I need to flash a custom kernel then? One day I'll feel confident enough to understand the difference between a kernel and a ROM, and feel confident enough to apply either. I guess I have more to read....
Yup, flash a custom kernel. Use CWM or Mobile Odin.
Sent from my GT-N7000 using xda premium
jeromepearce said:
Thanks for that. I can't see any better governors than SetCPU, however, although they may be applied better (SetCPU seems to stop my phone sleeping, kind of a Red-Bull effect?)
---------- Post added at 12:20 PM ---------- Previous post was at 12:17 PM ----------
OK, so it appears I need to flash a custom kernel then? One day I'll feel confident enough to understand the difference between a kernel and a ROM, and feel confident enough to apply either. I guess I have more to read....
Click to expand...
Click to collapse
It depends on what rom/kernel/governor you are using.
Sent from my GT-N7000 using xda premium
What about Abyssplug and Weathley governers ?
Sent from my SGH-T989 using XDA
Avetny,
Could you please also elaborate on the I/O Schedular: Noop, deadline, cfq/bfq, vr and sio. If you have time off course
Thanks in advance
Isn't this the same content as this thread?
http://forum.xda-developers.com/showthread.php?t=1369817
Sent from my GT-N7000 using xda premium
This should be stickied
Sent from my GT-N7000 using Tapatalk
GOVERNORS info
:good: Thanks a lot. This is exactly what I am looking for.

[Q] AOKP Build 5 default cpu kernel settings?

Can someone tell me what the default values for the kernel that comes with build 5 are? I normally use Franco, but have been having some issues with it lately and want to try going back to regular kernel. After I flashed AOKP kernel back it shows the cpu settings as Minimum cpu 1026, On demand, and CFQ. I don't think those are right. I thought it was interactive with 384 min and deadline?
Any help would be appreciated. Thanks.
Hi,
All is fine. The 1026 Mhz min CPU freq is normal and it's like stock. It's for a "smoother experience" that when you touch the screen the min CPU freq goes to this freq for a time and after goes down to 384 Mhz, it's the Mpdecision stuff, some kernel devs have disable it for battery life and you can set the 384 Mhz freq as a minimum CPU freq "all the time" (related to the Cpu load). As for the governor it's Ondemand by defaut, i/o scheduler too.
Do a little search for more detailed information...
Nothing is wrong here...
Thanks for the confirmation!

S2 custom kernel tuning thread

S2 custom kernel tuning thread
Updated: 22/10/15​
Welcome to my universal tuning guide for the Samsung Galaxy S2 i9100. This guide will cover different profiles I've created to meet every single situation, whether you want to save more battery life or to have more gaming performance.​
Here is a following list of kernels that this thread will apply to:
- DorimanX kernel
- Apolo kernel
- Gustavo kernel
- DU kernel by Arnab
- Other kernels with variable changing support with underclocking and overclocking support
Guides:
- General Profiles
- Special Profiles
- Kernel Specific Profiles
List of things to do:
- Down threshold tuning
Changelog:
Code:
[B]24/10/15:
v1.1 [/B]
- updated most profile settings
- Added sampling rate tuning
[B]22/10/15:
v1 [/B]
- initial thread bring up[/SIZE]
General Profiles
These profiles will suit most devices and are generally used by most people with custom kernels. Of course, settings here are found on all custom kernels listed in the OP.
Please also be mindful that some governors behave better on certain kernels than others. Here is a list of governors that are known to work well on the following kernels:
- DorimanX kernel -> HYPER
- Apolo kernel -> PegasusQ
- Gustavo kernel -> PegasusQ (I think most governors work fine anyway)
Normal use/Default
Max CPU frequency: 1200mhz
Min CPU frequency: 200mhz
CPU governor: Ondemand/PegasusQ
Sampling rate: 50000
Up threshold: 85 or 75
IO scheduler: SIO/CFQ/ROW
Performance
Max CPU frequency: 1200
Min CPU frequency: 200
CPU governor: HYPER/NeoX/PegasusQ
Sampling rate: 50000
Up threshold: 60
IO scheduler: SIO/ROW/ZEN
Even more performance!!!
Max CPU frequency: 1300mhz (Personally, I don't recommend 1600mhz because it can be unstable, 1300mhz or 1400mhz should be fine on most devices)
Min CPU frequency: 200mhz or higher (Don't set this too high, personally, I think anything below 500mhz is still capable of good performance)
CPU governor: HYPER/NeoX
Sampling rate: 30000
Up threshold: 50 or 60
IO scheduler: SIO/ROW/ZEN
Gaming
Max CPU frequency: 1200mhz
Min CPU frequency: 200mhz
CPU governor: HYPER/NeoX/PegasusQ
Sampling rate: 40000
Up threshold: 60 or 75
IO scheduler: SIO/ROW/ZEN
Battery life
Max CPU frequency: 1000mhz
Min CPU frequency: 200mhz
CPU governor: Ondemand/zzmoove
Sampling rate: 120000
Up threshold: 90
IO scheduler: SIO/noop
Even more battery life!!
Max CPU frequency: 800mhz
Min CPU frequency: 200mhz
CPU governor: Ondemand/zzmoove
Sampling rate: 120000
Up threshold: 90
IO scheduler: SIO/noop
Special Profiles
These profiles are for people who want the best settings for specific situations
Good gaming performance with less battery drain
Max CPU frequency: 1200mhz
Min CPU frequency: 200mhz
CPU governor: Ondemand/PegasusQ
Sampling rate: 80000
Up threshold: 80
IO scheduler: SIO/ROW
Good gaming performance with even less battery drain
Max CPU frequency: 1000mhz
Min CPU frequency: 200mhz
CPU governor: Ondemand/PegasusQ
Sampling rate: 80000
Up threshold: 80
IO scheduler: SIO/ROW
Minimum drain from watching videos
Max CPU frequency: 800-1000mhz
Min CPU frequency: 200mhz
CPU governor: Ondemand/PegasusQ/zzmoove
Sampling rate: 100000
Up threshold: 85
IO scheduler: SIO/ROW
Minimum drain from listening music
Max CPU frequency: 800-1000mhz
Min CPU frequency: 200mhz
CPU governor: Ondemand/PegasusQ/zzmoove
Sampling rate: 120000
Up threshold: 90
IO scheduler: SIO/ROW
Kernel specific Profiles
These profiles are for people who have custom kernels that have unique settings
gsstudios's dorimanx default profile
Max CPU frequency: 1200mhz
Min CPU frequency: 200mhz
CPU governor (AWAKE): HYPER
CPU governor (SLEEP): Ondemand
Awake Up threshold: 70
Sleep Up threshold: 75
IO scheduler (Awake and Sleep): SIO
TCP algorithm: Westwood
gsstudios's optimized apolo kernel profile
Max CPU frequency: 1200mhz
Min CPU frequency: 200mhz
CPU governor: PegasusQ
Up threshold: 75
IO scheduler: SIO
Any suggestions will be great so that our fellow S2 users can have the best custom kernel experience!
I also encourage sharing of your own profiles in this thread. Just stay on topic and all will be fine :good: :victory:
@gsstudios
http://forum.xda-developers.com/showthread.php?t=2432029
This thread should be in OP. I learned a bit from there , because i could take a profile , test it , adjust some valumes test (...) again again... and finally create STweaks profile , thay suits be best.
MikiGry said:
@gsstudios
http://forum.xda-developers.com/showthread.php?t=2432029
This thread should be in OP. I learned a bit from there , because i could take a profile , test it , adjust some valumes test (...) again again... and finally create STweaks profile , thay suits be best.
Click to expand...
Click to collapse
I will have to ask eskriminal to update the stweaks OP, but since we don't see him on XDA anymore, this may not happen.
Is there a chance someone will add back the 100MHz CPU step? Siyah had it and I think it helped save power in some situations, like when playing music.
Also, can someone recommend a widget to quickly change profiles? Voltage control was good but it doesn't seem to work anymore.
apphoarder said:
Is there a chance someone will add back the 100MHz CPU step? Siyah had it and I think it helped save power in some situations, like when playing music.
Also, can someone recommend a widget to quickly change profiles? Voltage control was good but it doesn't seem to work anymore.
Click to expand...
Click to collapse
What kernel are you using? Dorimanx kernel allows underclock to 100mhz, apolo kernel uses stock frequencies, Gustavo kernel also allows 100mhz (i think)
Edit: Gustavo kernel doesn't support 100mhz
gsstudios said:
What kernel are you using? Dorimanx kernel allows underclock to 100mhz, apolo kernel uses stock frequencies, Gustavo kernel also allows 100mhz (i think).
Click to expand...
Click to collapse
Using Gustavo_s kk kernel 04-02-TWRP-TRIM... 200mhz is minimum, according to Synapse. To be honest, I've had bad experience with Dorimanx kernels before (tried 5-6 versions, always buggy or horrible performance). I might give it another try, I see that you maintain it now. Thank you.

Good kernel configurator for the Moto E 2015 to tweak stock and custom kernel

HERE: https://play.google.com/store/apps/details?id=flar2.exkernelmanager&hl=en
Use the CPU section to set the CPU governor to performance or userspace and the CPU frequency to max 1209 mhz if you are not too worried about battery. A hardcoded hardware throttle kicks in if the CPU and battery temperature are too high so set a frequency that is sane to you.

MTweaks configuration for Gaming

Hi everyone
Do anyone know any configuration on the MTweaks app to obtain more performance at playing video games?
Sorry for my bad english
Cpu:
Max freq - Keep at max
Min freq - Keep at minimum
Governor - Use interactive
HMP:
Performance
GPU:
Max Freq - 806MHz
Min Freq - 260MHz
Governor - Booster
Try this and u should get good performance. I use this on my s7 edge. You can change the cpu governor to performance if you want it to be even better, but this can cause heating issues.

Resources