explain CPU boost options ? - General Questions and Answers

Someone could explain me what exactly the following options does ?
Boost milliseconds : "20" (default) (What this means ?)
Input boost frequency : "device specific" (I know what this means)
Input boost milliseconds : "40" (default) (What this means ?)
Sync threshold frequency : "1728mhz" (default) (What this means ?)
I need to know what those "milliseconds" options does , like delay before boost or how long boost will last when screen is touched ?
Thanks

anyone ?

I don't have a 100% correct explanation for this, but I think this is roughly what they mean (again, very roughly)
Sync: If the device has to ramp up when system load is increased, this is the frequency that the system will ramp up to. The frequency will raise to maximum if load passes this point (like when doing a benchmark). It doesn't ramp every core to the set frequency.
Both millisecond options are for how long the CPU stays at the set frequencies.
You don't really need to change these values. The default ones are more than good enough.

Related

[INFO] setCPU details

Here is a great resource where you can learn a lot about the setCPU app and what all the features actually do.
It is very informative and in particular, this is what appealed to me:
"The Advanced menu allows you to tweak the finer aspects of certain CPU governors. It is only activated when you choose the ondemand or conservative governors.
Sampling Rate - An interval (in microseconds) at which the governor will poll for updates. When this happens, the governor will decide whether to scale the CPU up or down.
Up Threshold - Defines a percentage from 1% to 100%. When the CPU load reaches this point, the governor will scale the CPU up.
Down Threshold (conservative only) - Defines a percentage from 1% to 100%. When the CPU load reaches this point, the governor will scale the CPU down.
Ignore Nice Load - If this value is "1," the system will ignore "Nice" processes when deciding to scale up or down.
Powersave Bias (ondemand only) - Setting this value higher will "bias" the governor toward lower frequencies. This is a percentage, where 1000 is 100%, 100 is 10%, and 0 is 0%. The ondemand governor will scale the CPU to a frequency lower than its "target" speed according to this value.
Freq Step (conservative only) - Defines how much (as a percentage of the maximum CPU speed) the conservative governor will increase the CPU speed by each time the CPU load reaches the Up Threshold.
Choose the "Set on Boot" checkbox to apply advanced settings when the phone boots. This option is completely independent of the similar option in the Main tab."
Thought i would post this to keep people informed.
Also, you can save battery with higher up thresholds ;D
I remember seeing this info at http://setcpu.com link mentioned in the about tab.
Higher up thresholds are not always good. It is better to have processor stay in 1200 state at 50% for 2 seconds compared to staying at 800 for 5 seconds at 100%.
diablo009 said:
I remember seeing this info at http://setcpu.com link mentioned in the about tab.
Higher up thresholds are not always good. It is better to have processor stay in 1200 state at 50% for 2 seconds compared to staying at 800 for 5 seconds at 100%.
Click to expand...
Click to collapse
WHOA theres a setCPU.com? wow
Mohammad_Adib said:
WHOA theres a setCPU.com? wow
Click to expand...
Click to collapse
Yes sir. It explains each and every option in the app, plus has a changelog too.
Edit: I saw the site u mentioned. It is a copy-paste from the setcpu.com site.
diablo009 said:
Yes sir. It explains each and every option in the app, plus has a changelog too.
Edit: I saw the site u mentioned. It is a copy-paste from the setcpu.com site.
Click to expand...
Click to collapse
wow....lolz

C-State And Race-To-Idle Test

In looking at C-States (not P-States), that is, simply switching between normal and idle (State 0 and State 1) reported on HTC One X...
I made the following script (WARNING: BACKUP, ETC ETC)
#!/bin/sh
echo "Idle_Analyser_by_sr2012: GPL3 Licensed"
#echo "State 0"
a=$(cat /sys/devices/system/cpu/cpu0/cpuidle/state0/time | sed 's/......$//')
echo "Normal (State0): " $a" sec"
a1=$(cat /sys/devices/system/cpu/cpu0/cpuidle/state0/usage )
echo "Normal (State0): " $a1" times entered"
#echo "State 1"
b=$(cat /sys/devices/system/cpu/cpu0/cpuidle/state1/time | sed 's/......$//')
echo "Idle (State1): " $b" sec"
b1=$(cat /sys/devices/system/cpu/cpu0/cpuidle/state1/usage)
echo "Idle (State1): " $b1" times entered"
echo "Difference(0-1): " $(( ($a-$b) ))" sec (to nearest second)"
echo "Difference(0-1): " $(( ($a1-$b1) ))" times entered"
sleep 1
clear
sh Idle_Analyser_by_sr2012.sh
This shows how much time the processor is in normal or idle states. Of course, since the script is recursive, the processor won't idle. It is recursive just to see that the timing was correct in displaying the data.
The question is, and since I haven't yet/can't make an app that graphs this over time without blocking idle states, it is interesting to run this script from time to time to see what the statistics are. Since TricksterMod and Cpuspy don't report these figures, as far as I can tell.
Can TricksterMod or Cpy spy incorporate these somehow?
The other question is, what is the 51mhz state and the idle state? How do these interact?
Also, what is the threshold for C-state Race-To-Idle. That means, let's say I load an app. Then I don't touch the screen for 200ms, 500ms, 1sec, 2sec. At what point does the kernel (not governor, since that relates to P-States only?) switch to Idle? Every 100ms? Every 1sec? More?
Here are some good resources of an overview of C-States, P-States and their governors, etc.
(I can't post links) Pallipadi.pdf and ols2007v2-pages-119-126.pdf (Google it)
Of course Kernel developers also know a lot on these forums so I'm curious about also Ladder vs Menu Governors and how we can have tools to tweak this? In lieu of improving and/or validating the race-to-idle strategy.
EDIT: "RACE-TO-IDLE"
See (I can't post links) White_Paper_7_-_Five_Ways_to_Save_Power.pdf (Google it)
Now, what does someone mean when they say Race-To-Idle. Is it
(a) Race to 5% or below CPU ~load~
(b) Race to clear all tasks to low enough load such that C-State enters C1, C2, etc.
(c) Both the above
Let's consider the case of (a) only, such as in the attached thumbnails, where we ignore C States and look at P States only. I am curious as to whether the P State governor Performance is better than the governor OnDemand.
This is because if you look at the attached image technically because the OnDemand governor ramps up as required it consumes less energy. But Race-To-Idle (case (a) only) would say that for the Performance governor, if you are running at 1ghz you slam through the task and then your load goes from x% at 1ghz to <5% at 1ghz, say. Rather than OnDemand where your load increases accordingly as clock speed is ramped from 200mhz to 1ghz or whatever. However, given the ramp up and down, that means that your idle time (by "idle" I mean <5% cpu load, for exampe) at xghz (say the minimum frequency you set) is ~less~ than idle time (<5% cpu load, for example) of the 1ghz frequency all the time.
How do we analyse and/or verify this?
Consider the 2nd attachment below. If energy consumption per load is linear, and energy consumption per frequency is linear, then does ramping the frequency help save energy? or use more.

CM10.1 CPU frequencies not sticking

I'm currently using CM10.1 AOSP [KANG] from the thread here -- http://forum.xda-developers.com/showthread.php?t=2115520. In essence, I cannot raise either the minimum or maximum CPU speeds above 384MHz.
I just tried restoring my phone using a RUU recovery.exe file, then re-rooted, S-OFF'd, unlocked the bootloader and then updated the firmware. Right after flashing CM10.1, I am still having issues with changing the CPU speed. The maximum and minimum CPU speeds I can choose are either 192MHz or 384MHz. I can go into settings > performance then change the maximum CPU speed to anything higher than that, but almost instantly after I select it the maximum CPU speed drops back down to 384 MHz. The same goes for trying to raise the minimum CPU speed above 384MHz. It makes the phone nearly unusable, as it takes multiple seconds to open almost any application and also reboots randomly quite often. Is there any way I can fix this?
Thanks!
Anyone have ideas/insight? Sorry to bump this!
Right. Here's what I did last time. I used something called SetCPU. Ticked the Set On Boot then it worked. But I unticked the ones in the Performance option.
This is what I do. Hope I help.
if you want do this also
go to system>etc>init.qcom.post_boot.sh and put this line(you can edit with simple text editor)
echo the value > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
do the same for cpu1 if you want to have the same frequency in both cpu

soc temperature throttle issue

So i set my max cpu freq to be 1728. And then the temperature throttle's 3 phases to be different clock speeds of 1728, 1267 and 1036. So when the temp hits a certain temp it will throttle the cpu down to the latter two. But then when the temp decreases to the values i set, then it should go back to the desired max speed i want which is 1728 however this is not the case. I often see it stuck at 1267 even though the temperature is well below the temp settings i set. It even gets stuck at 1036 at times. Any ideas how to get it to change back appropriately? I only use synapse to configure the settings. I'm also on mahdi rom which has that performance settings which I don't know if that is causing any conflicts the settings that i set in synapse.
onecrzyasian said:
So i set my max cpu freq to be 1728. And then the temperature throttle's 3 phases to be different clock speeds of 1728, 1267 and 1036. So when the temp hits a certain temp it will throttle the cpu down to the latter two. But then when the temp decreases to the values i set, then it should go back to the desired max speed i want which is 1728 however this is not the case. I often see it stuck at 1267 even though the temperature is well below the temp settings i set. It even gets stuck at 1036 at times. Any ideas how to get it to change back appropriately? I only use synapse to configure the settings. I'm also on mahdi rom which has that performance settings which I don't know if that is causing any conflicts the settings that i set in synapse.
Click to expand...
Click to collapse
It is a bug in the thermal driver code of the kernel you are using.
Report to the dev with proper logs, and readjust the clock speeds in Synapse or reboot.

Cpu boost acting unatural

My cluster 1 is boosting to Max and lowest frequency is 1555mhz. Now it used to boost to 1036mhz and I can't find a way to revert this. I've reinstalled OOS to no avail even going back to stock boot.img. I'm rooted with magisk and have tried custom kernels in the past (Smurf). Both my a/b are on same OOS with stock boot.img and magism
This perfectly normal if you ask me. When the display is touched the minimum frequency for only CPU0 becomes 1555 MHz for 700 ms. Actually the software you're reading the frequency from makes other CPUs from the same cluster to appear boosted to the same frequency but actually it is just CPU0, so relax, there's nothing to worry about.
FK kernel manager applies the input boost to the whole cluster not individual cores.
EXKM applies input boost to individual cores with different frequencies of your choice. I agree that 1036 is more power efficient without too much drop in user experience. You can change that in EXKM for finer control.
Reading the CPU real time CPU frequency from these apps doesn't represent anything REAL at all. CPU ramping happens at a scale of few Nanoseconds, my friend. Software can't capture that so it depends on sampling which means everyone has its own method.

Categories

Resources