Ondemand governor cannot work on Intel Atom D4x0 and D5x0
To my surprise my Intel Atom D410 with max. TDP 10W
does not feature Enhanced Intel SpeedStep technology. The linux kernel reports
ondemand,
conservative and
performance governors, but I am not able to set any of these.
# echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# dmesg | tail -n 1
ondemand governor failed, too long transition latency of HW, fallback to performance governor
The thing is
PowerTop utility advices to run this command in order to get power consumption down. And it obviously does not work. Therefore I have
reported this behavior last weekend and Jaroslav Škarvada from Red Hat discovered and fixed an issue in Intel's PowerTOP with the long cpuinfo_transition_latency the day after. It will most likely be rolled out in some RHEL 6.X updates and fixed in upstream I guess.
On top of that he recommended to workaround this by using an userspace mode with
cpuspeed utility. If you have this kind Atom I recommend you to do this (example for Fedora/RHEL):
# yum install cpuspeed
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
208333 416667 625001 833335 1041668 1250002 1458336 1666670
# vim /etc/sysconfig/cpuspeed
...
GOVERNOR=userspace
MIN_SPEED=416667
UP_THRESHOLD=80
DOWN_THRESHOLD=20
...
# service cpuspeed start
# chkconfig cpuspeed on
I really recommend not to use the lowest possible frequency. My system tend to be little unresponsive when running at 200 MHz. I also recommend to tune the thresholds a bit. The default pair (15/25) is way too much. My setting (20/80) is pretty "conservative" but giving nice results on my system. I'd be pleased for sharing your opinions.
This is same with all D-series Atoms like
D410, D425, D510, D525 and also Atom
200, 300. Other series like N, E or Z have EIST. I have to admit you wont save much with EIST, because Atoms have very low TDP even without it. I am not sure if it worth it at all. Some measurements would be nice. Feel free to comment on that.
Good reading regarding power management is definitely the
RHEL 6 Power Management Guide.