[G3 Android Development] Robshr:
Kernel governors and thermals and how they effect your phone performance

First here are a quick summaries of what a governor does and what the thermals do then I get into more detail.

The kernels governor manages the CPU's frequency mainly by the amount of load the cpu is under and other preset values.

Thermal control which determines the frequency by the temperature the CPU and determined by preset values set in thermal files

Both play big rolls in how well your phone performs but in opposite ways the governor basically start out by trying to keep your phone running smoothly by increasing the clock speed to match the load on the cpu, whereas thermal control does the opposite it kicks in after the cpu reaches a preset limit and starts lowering the clock speed in an attempt the cool down the CPU to keep the phone running smoothly

Now the governor bases what the clock speed is set to and determines the point the kernel will increase the CPU's frequency by the load value set in the governor which is preset by the OEM or dev. With a rooted phones most of these values can be changed. The load values based on numbers with 0 being the phone just sitting idle not under any load so the governor will have the cpu frequency set to the preset minimum allowed frequency set by the kernel. And as the work load increases the governor raises the frequency in steps also preset by the governor until the CPU reaches a frequency that handles the increase in work load and continues to raise the clockspeed as the load increases. Now once the CPU's load reaches the preset target load value it will be running at the maximum allowed frequency set in the kernel. Different governors have a different numbers of load and other settings some can be changed and some can't depending on the governor and what features were added by the builder

For example the conservative governor sets it's target load values high usually around 95 and a step value of say 14 (step value being the amount of frequencies it will go thru to reach the maximum set frequency. Which helps improve battery life but you sacrafice performance. As say the interactive governor with the target load value set at 70 (Target load value being the highest amount of work load on the CPU before bumping it up to the maximum allowed CPU frequency set in RJ kernel and a step value of 7 will have better performance that the conservative .

All but one governor (performance) which is set to run at the maximum CPU frequency all the time) has parameters that can be tuned to your liking with one of the many CPU/kernel control apps out. But not all kernels and the governors come with the same settings. The builder/OEM/dev. of the kernel can pick and choose what features and governors to put in the kernel and also what settings are allowed to be changed. Also not all particular governors come with the same allowed settings. One developer might only put in the interactive governor and only put a few settings that can be changed whereas a kernel from another developer will add in every setting there is for the interactive governor.

Here's a great page explaining just about everything you should know about governors it's a must read.

http://xdaforums.com/general/general/ref-to-date-guide-cpu-governors-o-t3048957

OK now thermal control works by throttling the CPU down to preset frequencies at preset temperatures and is also done in steps usually 7. And both the thermal control and governor greatly affect your phones performance.

So alot of phone OEM's and carriers set these limits to low which cause alot of lag IMO. I'm not sure of its to try and squeeze a little more battery life out of the phone or what, but the sacrifice of a few minutes of battery life is well worth not having to deal with the frustration of lag.

So just to clear things up on the safety of this mod.

It does not turn off thermal throttling. I've only changed the first 3 bump downs (steps) I raised the frequency and temputure on the first 3 but left the last four at their stock values so it doesn't let the phone get hot enough to burn up. That's why you might notice with this mod and a long period of time using your phone under heavy load and reaches a certain temp. it will then slow down alot. Also they have which works 99%of the time a fail safe temp setting to automatically shut your phone down. (Which is set at 120°c and won't let you turn your phone back on until the temp lowers to 115°c)

Here's what I changed the first bump down to. Stock was set to drop the cpu down to 1.5 GHz at 60°c now that's pretty normal for moderate use. That's almost have of the processors top speed of 2.45 ghx which is why the g3 has such bad lag. So I upped the first bump down to 2.26 and raised the tempurture it has to reach to 70°c before the frequency bumps down to 2.26. And like I said I also raised the values of the next 2 bump downs.

Also in the LP versions I was able to tweak the battery values to keep it's temperature down actually the battery stayed cooler compared to stock. And tweaked the GPU

I am working on both of these for the next version of mod for MM

I Hope this has helped you have a little more insight on what this mod does and how you devices improvement might not be noticeable compared to someone else who show a great improvement in performance. It all depends things we do to our phones to customize them .ie different ROMs kernels, settings and mods we add to them