[Galaxy S III Android Development] ZaneZam:
Hi Guys,

so here it is now the missing information about that "christmas-easter-egg" :)

Why that “zzmoove” governor and how it works:

I thought it were pretty cool to have one of my favorite governors back from the old SGS1-days on my actual device, so i decided to take the sources and give that a try on top of boeffla kernel. It worked well so this is now the result of that experiment. ;)

More about the internals:

Basically this is the ported SGS1 version of the well known "smoove" governor from the good old midnight kernel from Michael Weingaertner (mialwe) with a modified CPU hotplug implementation of the ktoonservative governor from ktoonesz. The original implementation from ktoonesz worked well but I observed that on idle most of the time only one cpu was going to sleep. Well that was not enough for me so I made a modification to put the other cpu's also to sleep (except cpu0). That means that this governor uses more often only one cpu on idle and as a consequence of that it needs less energy. Depending on System load and governor settings all 4 cores will be instantly up again if it is needed.

In short:

So what you can expect now from this thingy is a battery-friendly behaving hotplug conservative governor which

uses a frequency lookup table for faster upscaling (so called "smooth scaling") So this is more a energy-safer than a performer.

If you use it I have to say (little disclaimer):

I've tested this governor many weeks with many different settings (incl. up to "light" uv) and with all schedulers on my self builded version of Boeffla Kernel and i had no issues on MY device, so I would call it stable. This governor was not tested on any other device (no more exactly true *g*) yet and since this will now start to be a part of Boeffla Kernel (thx andi!!) there might be a greater chance that we see problems. Not that i expect any big issues but there are so many different devices/configurations around, so you never know what comes up ;)

So please use it on your own risk and please report back if u have any issues but also how it works for you - i'm looking forward to your reports! Due to constant flashing of test versions and playing around with settings i have no real long term test. (had only max. 2 days or so without flashing/adjusting *g*) so such tests/reports are also highly appreciated! ;)

Tuneables/Defaults:

Sampling Rate

(default=2) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/sampling_rate

Sampling Down Factor

(default=4) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/sampling_down_factor

Up Threshold

(default=70) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/up_threshold

Up Threshold Hotplug

(default=68) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/up_threshold_hotplug

Down Threshold

(default=52) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/down_threshold

Down Threshold Hotplug

(default=55) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/down_threshold_hotplug

Ignore Nice Load

(default=0) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/ignore_nice_load

Freqency Step

(default=5) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/freq_step

Smooth Up

(default=75) tuneable: /sys/devices/system/cpu/cpufreq/zzmoove/smooth_up

Links:

Midnight kernel

KT747 Kernel

Common Infos about Governors,I/O Schedulers etc.

Credits to:

mialwe

for his smoove governor

ktoonesz

for original hotplug implementation

and last but not least

AndiP

for allowing me again to contribute to one of his projects! :)

Sooo have fun with it! :)