[Galaxy S III Android Development] ZaneZam:
ZZMoove Governor - New Version 0.3

Hi to all friends of the zzmoove governor! (and guys who are interested in "little more" technical stuff *g*)

Warning! Long post ahead! :)

as andi already pre-announced this is now the description of the new zzmoove governor version 0.3.

sorry but had no time to do this earlier! :(

so let's go:

there are now many new possibilities to adjust the governor more precisely via sysfs!

Following new tuneables were introduced in this new version:

The so called "sleep" values which were hardcoded in previous version are now changed

to sysfs-tuneables:

The Smooth Scaling for sleep (Screen off):

tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/smooth_up_sleep

possible values from 1 to 100, default: 100

The up/down Threshold for sleep (Screen off):

tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/up_threshold_sleep

possible Values from above "down_threshold_sleep" to 100, default: 90

tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/down_threshold_sleep

possible Values from 11 to under "up_threshold_sleep", default: 44

The Sampling Rate for sleep (Screen off):

tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/sampling_rate_sleep_multiplier

possible values 1 or 2, default: 2

The amound of cores which should run at "screen off":

tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/hotplug_sleep

possible Values 0 = do not touch cores (the same behaving as in standard setting of zzmoove) 1, 2 or 3

the number of cores to run on screen off. btw. setting "4" doesn't exist as u can use "0" for that setting! ;)

Beside of that you can now change the hotplug threshold per core independently (thx to gsw5700 for the inital idea!)

and turn cores off completely.

For that purpose following tuneables were introduced and are replacing

the old hotplug up/down threshold tuneables:

tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/up_threshold_hotplug1

hotplug up threshold for core 1 - 0 = turn off core 1, possible range from "down_threshold" to 100, default: 68

tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/up_threshold_hotplug2

hotplug up threshold for core 2 - 0 = turn off core 2, possible range from "down_threshold" to 100, default: 68

tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/up_threshold_hotplug3

hotplug up threshold for core 3 - 0 = turn off core 3, possible range from "down_threshold" to 100, default: 68

tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/down_threshold_hotplug1

hotplug down threshold for core 1 - possible range from 11 to under "up_threshold", default: 55

tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/down_threshold_hotplug2

hotplug down threshold for core 2 - possible range from 11 to under "up_threshold", default: 55

tuneable -> /sys/devices/system/cpu/cpufreq/zzmoove/down_threshold_hotplug3

hotplug down threshold for core 3 - possible range from 11 to unter "up_threshold", default: 55

Profiles:

In this new version I've changed the profiles in a manner (bat/opt/perf) that at "screen off" the cpu frequency scales later up and faster down. The separate hotplug-thresholds were all adjusted that the core hotplugging is now "stepping" up/down. That means cores are more often offline/online till they reach their threshold values. For example on battery profile the second core is switched on at 50% load the third core at 70% and the fourth core at 98% load and are turned off again accordingly to their hotplug down threshold values. I think that's a better way to switch the cores than to do it with just one up and one down value. This should lead to a "smoother" hotplugging and lesser switching of cores and on the other hand this should lead (hopefully *g*) to lesser energy consumption.

Note:

I've set up all profiles (bat/opt/perf) that at "screen off" only one core is running! If u turn the screen on again all 4 cores (or the amount of previously set cores) are back instantly! That should lead as well to lower energy consumtion on screen off on all profiles.

ScriptPack:

as u maybe have seen in the changelog of boeffla kernel 2.8 beta2 Andi has received a new version of the tweaks app from me which is now again capable of installing the so called "script packs" (the previous version had to be "fixed" for that function to work again) These packs are made to extend the app with options and that's what andi meant with "there is more to come" for those of you who like to adjust more and play around a bit. During development of the new version i made all possible combinations of the settings to test all the stuff and send all settings to andi. He ask me then to reduce the amount of settings to avoid overchargeing most of u so i had to decide which ones i drop and which ones not. I did't want to take away cores in the standard setting so i decided to provide the rest of these scripts as an addon pack which can be installed in the tweaks app. With these settings u have the possibilty to turn off cores in all profiles for lower energy consumption. (again hopefully! *g*) All other settings are the same, just core switching is provided in addition with these settings.

Installation of ScriptPacks:

Just download the attached zip file (or get it here (http://www.boeffla-kernel.de/index.php/2012-10-31-06-13-16/viewcategory/17 thx to AndiP!) and save it to one of the following locations on your phone:

/sdcard/

/sdcard/download/

/sdcard/tapatalk_download/

/sdcard/tapatalkxda_download/

then in the tweaks app press the menu button and choose "Manage Packages" (if it doesn't appear try again pressing menu button, you often have to do it twice!!) After that you see "install AddOn ZZMoove Configs...". By pressing this the pack will install and u will see "some more" *g* options in the Governor section immediately. The same applies on uninstallation but the app shows then "uninstall AddOn ZZMoove Configs..."

Note:

If there are script-updates in future versions of the kernel these scripts will be updated without loosing the script pack! internally the folder "BoefflaScripts" on your sdcard is used for that purpose, just for your information. I will maybe describe the whole possibilities of that folder at a later time, u can for example use it to put your own custom script in there for custom settings.

EDIT: since version 2.9 of Boeffla Kernel the name and the location of the ScriptPack installation folder has changed from "/sdcard/BoefflaScripts" to "/sdcard/beffla-kernel-data/ScriptPacks" !

IMPORTANT: You need to install the latest 2.8 beta3a to be able to install the ScriptPack because as mentioned a new version of the tweaks app (which is included since 2.8 beta2) is needed to be able to install ScriptPacks! The installed scripts need the new 0.3 version of ZZMoove Governor so it would anyway make no sense to install these on versions below beta3. Be warned, if you try install the ScriptPack on any older version of the Tweaks App u will end up on a empty screen without settings! If you accidently read over the last few lines then u are surely back and in this sentence right now :) so u can now read this: you can fix that problems with broken ScriptPack installations by deleting /sdcard/BoefflaScripts and restarting the app! ;)

EDIT: Version 2.2 of ScriptPack for Kernel Version 2.8 beta5 (and future versions) added.

This update has no new settings included its just a cosmetic update for being compatible with the new script naming in future versions of boeffla-kernel! For kernel versions < beta5 u should still use the ScriptPack v2.1!

Conclusion:

Time and your experience with it will show If that new version of zzmoove governor is better than the previous one. I just picked up some ideas from you guys mixed it with mine and implemented it. :) on my completely unorganized/not optimized/never wiped (no, never since taking out the phone of the retail box up to the current running XXEMR2 rom *g*) system i have (at least subjectively) a very good impression! But as u know every system is differnt so this doesn't mean that this must apply on your system (but at least i strongly hope so!!)

That's it! :)

Thanks to:

AndiP for including this new version in his kernel and for the very good collaboration!! :thumbup:

again HM.Carbide for his great app!

gsw5700 for the initial Idea "hotplug threshold per core".

brijmathew indirectly for the initial idea "just one core at screen off" (i think he did'nt meant exactly that in his post but hey he switched on the led in my head! *gg*)

last but not least to all testers and friends of the ZZMoove Governor!

have fun with it, and may the juice be with us!! :D