kmod-powernow-k8

The kmod-powernow-k8 driver provides a patched (1) powernow-k8.ko module allowing for per-core power saving on many newer AMD multi-core processors including newer Opterons, the Phenoms and Phenoms II (and Kuma core Athlons X2).

Note: the problem does not exist in EL6 kernels, therefore no need for this kmod. Also the fix has appeared in the EL5.6 kernel.

The standard powernow-k8.ko driver in EL5 ties all cores together so all cores either run in a full power state or in a power saving state. Consequently, much of the time the system is running in a full power state and is unable to take advantage of power saving features such as CPU frequency throttling or reduction of vCore. This updated driver allows each core to be treated independently affording large power savings with concomitant reductions in operating temperatures (as recorded by k10temp).

Example data below is given for a server based on an Asus M4A78 pro/Phenom II X4 920 (2.8 GHz), 4x500GB WD HDs and onboard video:

Before installing kmod-powernow-k8, the system was measured drawing ~150W idle from the wall outlet:

$ uname -r
2.6.18-128.2.1.el5
$ sensors
k10temp-pci-00c3
Adapter: PCI adapter
CPU1 Temp:   +45°C

$ cat /proc/cpuinfo | grep "cpu MHz"
cpu MHz         : 800.000
cpu MHz         : 800.000
cpu MHz         : 800.000
cpu MHz         : 800.000

Now run the command again when the system has a higher load (note how all 4 cores run at the same frequency):

$ cat /proc/cpuinfo | grep "cpu MHz"
cpu MHz         : 2800.000
cpu MHz         : 2800.000
cpu MHz         : 2800.000
cpu MHz         : 2800.000

After installing kmod-powernow-k8 we see (below) independently scaled core frequencies. The system was now measured drawing ~110W at idle from the wall outlet, similar to the power consumption observed under Fedora 10 and under CentOS 4.7.

$ rpm -q kmod-powernow-k8
kmod-powernow-k8-0.0-2.el5.elrepo

$ sensors
k10temp-pci-00c3
Adapter: PCI adapter
CPU1 Temp:   +36°C

$ cat /proc/cpuinfo | grep "cpu MHz"
cpu MHz         : 2800.000
cpu MHz         : 800.000
cpu MHz         : 800.000
cpu MHz         : 800.000

$ cat /proc/cpuinfo | grep "cpu MHz"
cpu MHz         : 800.000
cpu MHz         : 2800.000
cpu MHz         : 800.000
cpu MHz         : 800.000

So without kmod-powernow-k8 installed, the system was consuming ~40W (36%) more power at idle and the core temperature was running ~9°C hotter than with kmod-powernow-k8 installed, making this a very environmentally friendly kmod.

(1) Patch provided by Alex/AT — https://bugzilla.redhat.com/show_bug.cgi?id=502397 (external link)
An official patch was provided by Red Hat on 2010-08-06 and applied to kmod-powernow-k8-0.0-3.el5.elrepo.

Note: kmod-powernow-k8-0.0-5.el5.elrepo was built for kernel 2.6.18-194 or newer (the older version of kmod continues to work for newer kernels as well).

Page last modified on Tuesday 26 of April, 2011 12:16:55 MDT