kern/165381: [cpufreq] powerd(8) eats CPUs for breakfast

Kevin Oberman rkoberman at gmail.com
Tue Mar 12 22:03:25 UTC 2013


On Tue, Mar 12, 2013 at 2:16 PM, <crees at freebsd.org> wrote:

> Synopsis: [cpufreq] powerd(8) eats CPUs for breakfast
>
> Responsible-Changed-From-To: freebsd-bugs->freebsd-acpi
> Responsible-Changed-By: crees
> Responsible-Changed-When: Tue Mar 12 21:16:07 UTC 2013
> Responsible-Changed-Why:
> This appears to be a rather serious issue-- anyone know about powerd on
> amd?
>
> http://www.freebsd.org/cgi/query-pr.cgi?pr=165381
> _______________________________________________
>
> I suspect that you are getting bitten by issues of conflict between
C-states and  cpufreq. I suggest that you disable TCC (which is intended
for thermal control, not power management) and see if that helps.
TCC/throttling is designed to slow down the CPU dramatically when the CPU
temperature approaches unsafe levels and normally is relevant onl,y when
the CPU is busy.

Throttling, either by TCC, also called P4TCC even though its only
association with the Pentium4 is that it was introduced on those chips, or
the older manual throttling can reduce the CPU to using only 1 in 8 clock
cycles if the CPU is idle. This should be fine, but when combined with
SpeedStep or the AMD equivalent (PowerNOW!) and C-states, it can cause the
system to deadlock. It essentially goes to sleep and never wakes up again,
the effective equivalent of halting. Since C-states are the biggest win for
power saving, it is especially important that these be used.

To disable TCC and throttling, add the following two lines to your
/boot/loader.conf file:
hint.p4tcc.0.disabled=1
hint.acpu_throttle.0.disabled=1

You should also confirm that the hw.acpi.cx_lowest sysctl is set to "C8".

Since both SpeedStep/PowerNOW! and C-states do reduce both power
consumption and idle temperature quite effectively, they should be used.
-- 
R. Kevin Oberman, Network Engineer
E-mail: rkoberman at gmail.com


More information about the freebsd-bugs mailing list