yashsingh1/xdaforums huggingface dataset:
[General Topics] Trey n:
Hi

Does anyone know what the most battery saving governor is? Idc about the preference loss.

Thx guys

Sent from my LG G3 D851.
[General Topics] DB126:
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.
[General Topics] tet-bundy:
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
[General Topics] Saber:
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
[General Topics] tet-bundy:
Thanks for the quick reply!

Fortunately have an ssd haha

Regards

Gesendet von meinem du_onyx mit Tapatalk
[General Topics] :
For HDD the best choice is BFQ, not CFQ
[General Topics] krasCGQ:
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!
[General Topics] tet-bundy:
If u read my question u'd have mentioned there's no bfq on my system/kernel

Gesendet von meinem du_onyx mit Tapatalk
[General Topics] Suigintou:
Hello,

Thank you so much for your work, that's really great.

Any information about Kraken kernel?
[General Topics] aryaazimi72:
Hey... [MENTION=5811506]Saber[/MENTION]

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!!!
[General Topics] Saber:
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
[General Topics] aryaazimi72:
It would be amazing if you could make a guide for interactive governor tunables.... [MENTION=5811506]Saber[/MENTION]

When you have time.... no rush...

Thank you for everything.... all your guides are realy helpful to me.... tnx
[General Topics] DB126:
Some key tunables are covered in the OP of [url="http://xdaforums.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.
[General Topics] Saber:
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
[General Topics] tet-bundy:
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
[General Topics] tet-bundy:
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
[General Topics] Saber:
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
[General Topics] DB126:
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.
[General Topics] christianpeso:
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.
[General Topics] tet-bundy:
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
[General Topics] Saber:
Will be looking at this soon.

Saber
[General Topics] Vinnom:
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 [MENTION=5811506]Saber[/MENTION] 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
[General Topics] Saber:
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 ;)
[General Topics] spezl:
Hello [MENTION=5811506]Saber[/MENTION]!

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!
[General Topics] Saber:
Sure. The guide is snapdragon oriented I would admit, governor recommendations will have to be updated soon.

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.

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
[General Topics] Saber:
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 :)
[General Topics] DB126:
So impressive. Comprehensive, approachable, well organized, unbiased and humble (eg: sources credited). An invaluable resource to dedicated modder. Thanks for all you do.
[General Topics] Saber:
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
[General Topics] abhisek sharma:
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:????
[General Topics] Vinnom:
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
[General Topics] krasCGQ:
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)
[General Topics] Vinnom:
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.
[General Topics] krasCGQ:
...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.
[General Topics] Vinnom:
Oh I see =)
[General Topics] Haldi4803:
The only Requirement for sched-DVFS is an EAS Kernel? The Hotplug is unaffected by EAS and sched-DVFS ?
[General Topics] tet-bundy:
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 :D

Gesendet von meinem X mit Tapatalk
[General Topics] Saber:
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
[General Topics] Saber:
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
[General Topics] tet-bundy:
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
[General Topics] Saber:
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
[General Topics] Haldi4803:
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.
[General Topics] Saber:
Thanks for clearing this up [MENTION=3056043]Haldi4803[/MENTION]

Indeed governor load calculation takes frequency into account. I should probably make a list of terminology somewhere in this guide.

Saber
[General Topics] dsjiffry:
[MENTION=5811506]Saber[/MENTION]

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
[General Topics] Saber:
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 :)
[General Topics] dsjiffry:
: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............ :D
[General Topics] Saber:
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.
[General Topics] dsjiffry:
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+
[General Topics] Saber:
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.
[General Topics] Iliyena:
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 [MENTION=2718533]Xmister[/MENTION] spent some time gaining fluidity while keeping/improving battery. Im not running it currently though.
[General Topics] dsjiffry:
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.
[General Topics] Iliyena:
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 :/
[General Topics] Saber:
What [MENTION=7442305]Iliyena[/MENTION] 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.
[General Topics] dsjiffry:
[MENTION=5811506]Saber[/MENTION] [MENTION=7442305]Iliyena[/MENTION]

Sooooooo....... Does this mean my values are wrong or something????

Also I shouldn't use Kernal Auditor???????
[General Topics] Iliyena:
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.
[General Topics] Suvas@:
Any details on intellitharmal?
[General Topics] Saber:
Not yet. Will add the details later when I have time.

Saber.
[General Topics] LuckySwitz:
Will wait for you to add zzmove native hotplug..
[General Topics] anfernee0117:
Thanks for this Saber-san :)
[General Topics] razibrizal:
Anyone know sched governor on the pixel phone?
[General Topics] Haldi4803:
Nr 101. Works Hand in Hand with EAS
[General Topics] Saber:
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
[General Topics] Saber:
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
[General Topics] Saber:
Done ;)
[General Topics] LuckySwitz:
Oh! Thank you so much mate! Appreciated for this!
[General Topics] AbdoRefky:
Great work,

Thank you very much
[General Topics] Saber:
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 ;)
[General Topics] Vink67:
Awesome job ! Thx
[General Topics] Saber:
The OP has been updated

Here are today's changes:

Updated ElementalX CPU governor description

Saber ;)
[General Topics] Saber:
The OP has been updated

Here are today's changes:

Updated summaries for I/O schedulers

Happy reading,

Saber ;)
[General Topics] WingedLion:
"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.
[General Topics] krasCGQ:
I think it means that some devices might have poor battery life with ondemand.
[General Topics] WingedLion:
Then why is it listed first under "For battery life:".Is conservative the best choice for battery life?
[General Topics] DB126:
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.
[General Topics] Saber:
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.
[General Topics] Vink67:
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.
[General Topics] 1+3_FA:
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 ?
[General Topics] leolawliet:
Keep the buffer size at a lower setting, 3072kb seems like too much. I trust row over noop.
[General Topics] 1+3_FA:
I just deinstalled KA and installed ex KM... Same settings here, and no heating up :/ strange!
[General Topics] Vink67:
1024 KB would be better, and try SioPlus if you can...
[General Topics] :
Zen 128
[General Topics] Iliyena:
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. ;)
[General Topics] LPW00:
Thanks for this great thread. Finally I think I set my phone up the right way.