[Galaxy Tab S Original Android Development] :
No problem at all. Every time I look through the source - no matter if it is yours or someone else or stock - I find some interesting new code I try to understand. So it's a chase for knowledge and no wild-goose chase (mate, now you teach me English: had to look up this phrase, and I like it ;) ). You know:

"Our continuing mission: To seek out knowledge of C, to explore strange UNIX commands, and to boldly code where no one has man page for." ;) [don't know the source - could be LPG (linux programmers guide), but not sure - commited to memory master branch without history or refspec....]

I hope you got help with your car and it wasn't raining like here in Germany at that time...

OK, back to business. I remember reading some threads about min freq. Some read like theorethical wars, some were useful... I myself think oscilating itself generates itself some overhead that is either good for performance nor for battery (think of a car in traffik: accellerate, decallerate, accell... that doesn't make you arrive earlier).

But as you stated above all this depends heavily on usecase - and for low freqs when apperently idle it depend on background services.

For now I would recommend setting min in settings to 200 MHz (which would be actually 400 MHz), cause this works without noticeable oscilation. Which settting is more power efficient only longterm tests of different usecases (read:: different users) can show...

Changelog:

Yesterday I've made a few small changes (dereference pointers when used in sizeof(), intialized some variables) to make kernelsource compile with aosp 4.8 toolchain. Also I've taken the bfq scheduler and efficient workque patches. (Can't tell about bfq, using it at the moment, but not long enough to give an oppinion.)

Overall I think (thanx to all the patches and knowledge from [MENTION=3511708]UpInTheAir[/MENTION] ) we had have a kernel, now we have a KERNEL. What we don't have is a nice interface to control all the small things. Therefor from the next rom build on there will be a file /system/etc/init.d/10systemtuning (additions depend on your milage, dear user):

#!/system/bin/sh
#
# should be self-explaining:
# this is the file you put your tunings to
# file in /sys (sysfs) and /proc (procfs)

# set governor
# available governors:
# conservative ondemand interactive
# you can set this also in Settings->Performance->CPU
# echo ondemand >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

# tuning governor
# settings depend on used governor
# echo 90 >/sys/devices/system/cpu/cpufreq/interactive/target_loads
# for now to avoid oscellating strongly recommended!
echo 200000 >/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

# set multicore power savings
# 0 = disabled
# 1 = enabled
# 2 = aggressive
# echo 1 >/sys/devices/system/cpu/sched_mc_power_savings

# set sceduler
# you can set this also in Settings->Performance->I/O-Scheduler
# mmc0 for internal sdcard
# mmc2 for external sdcard
echo bfq >/sys/devices/platform/dw_mmc.0/mmc_host/mmc0/mmc0\:0001/block/mmcblk0/queue/scheduler
echo bfq >/sys/devices/platform/dw_mmc.2/mmc_host/mmc2/mmc2\:0001/block/mmcblk1/queue/scheduler

You can put this in the init.d dir make it 0755 (-rwx-r-xr-x) and use it with any kernel - hopefully - with the attached one... ;) The above file is what I'm running at the moment. After edited this file you have to run it on a root-shell or just reboot.

This is (hopefully) the last testkernel before christmas build. If no one has problems with this I will use it.

Building kernel with 4.8 toolchain is in devicetree's git. So if anybody is experementing with cm12 - the kernel source from branch my-work-eabi-4.8 shoild at least compile inside... ...good luck... ;)

Happy flashing!