yes the powersaving is worth it, while doing simple office work, or when leaving pc running
so you're best of manually toggling the governor. all or nothing
For those of us running Ubuntu and using Unity, installing indicator-cpufreq provides easy access to all of the governors, and also individual p-states.
A couple of things worth noting:
- glxgears is not a benchmark. It does a pittance of work on both the CPU and GPU...so basically all you're measuring is how fast you can swap frames. That's not representative of really anything you're going to do. If you're playing a game, you're going to spend CPU time on game logic, and GPU time drawing a bunch of stuff. Even if you're just browsing the web or reading PDFs, you're probably going to do more than glxgears.
- You need to use vblank_mode=0, otherwise you'll be locked at 60 fps.
you guys can try experimenting with the ondemand governor and its trigger values until it ramps up - for me it's 50:
echo 50 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
seems like the CPUs became too powerful for the value of 95 so it stays downclocked all the time
strangely this affects output of the GPU a lot
so with the old settings glxgears was between 2600-2900
now it's between 3800 and roughly 4100 (4500 seems to be the max with performance governor/without throttle)
playback of youtube videos also significantly improved with this setting
It's not strange. The CPU feeds the GPU. gears doesn't stress the GPU at all. The faster you can feed the GPU, the faster gears will perform. See Kayden's comment.
Originally Posted by kernelOfTruth
With kernel >=3.8 and Mesa 9.2 I got strange lockups (0.5-3s) e.g. when switching windows/desktops in KDE. Disabling tickless mode in kernel did help a small bit. But seems a recent version of Mesa 9.2 mostly fixed this for me (HD 4350).
Originally Posted by kernelOfTruth
Thanks for this!!
Who is this bright guy, that decided to set performance at 95%?! There are a LOT of applications that already demand CPU @ 40%
Normally, ondemand Cool&Quiet and Speedstep reduce performance to ~25% if not lower. Its no wonder that desktop is slow - thanks to the 95% policy! Maybe 95% are okay for server, but for desktop the best option is to wake up, do the stuff and then stay quiet, instead of expanding timeframe for stuff like window redraw (ie slowing down the animations at 10x). For desktop, interactivity (=presence of power) is more important than latent energy efficiency like this kind.
You also have to consider the wakeup latency, if you want the cpu to go to full power every time you move the mouse. The wakeup latency from the lowest C-state can be up to 0.5ms.
I am running the ondemand governor with tweaked settings, because I was aware of this behaviour for a while now. It is a great governor for aggressive power saving with laptops and for people who browse the web and work with office applications. On a desktop with regular heavy work loads and less need for power savings can it be tweaked to be as good as the performance governor while still saving power during idle times:
--- /etc/sysfs.conf ---
devices/system/cpu/cpufreq/ondemand/up_threshold = 50
devices/system/cpu/cpufreq/ondemand/sampling_down_factor = 10
devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand
devices/system/cpu/cpu1/cpufreq/scaling_governor = ondemand
devices/system/cpu/cpu2/cpufreq/scaling_governor = ondemand
devices/system/cpu/cpu3/cpufreq/scaling_governor = ondemand
--- eof ---
sysfs.conf is read in a script during boot, which writes these values into /sys/ (aka sysfs).
What these values do is to lower the threshold for when to increase the CPU frequency and to tenfold the time before it decreases it again.
I cannot remember the exact default values, but I believe the default threshold is somewhere around 90%-95% of CPU load. This is quite a high threshold and already explains its default behaviour. Lowering it to 50% makes a huge difference alone.
Hope this helps.
If really this thread is about how to make glxgears fly and be a nerd then here are a couple more tricks...
1.) Do not run GNOME, do not run any OpenGL composite managers, but run plain Xfce instead. Better, run a separate X server without any window manager and have it display glxgears alone!
2.) If you are using a Nvidia graphics card with the proprietary driver and your motherboard/chipset knows MSI then compile your kernel with MSI enabled and load the nvidia kernel module with the option "NVreg_EnableMSI=1".
These two pushed my glxgears from 12k to 18k (GeForce GTX260). I think I can break the 20k when I recomplile X11, Mesa and glxgears with optimized settings. One day I will do exactly that..
Last edited by sdack; 05-29-2013 at 04:58 PM.