Further testing of power management

Nate Lawson nate at root.org
Fri Apr 8 16:49:07 PDT 2005

It's great to have your testing.  I don't have time to read this 
carefully right now but will over the weekend.  Quick comments...

Kevin Oberman wrote:
> As you can see, lowering the CPU cock speed is much more effective in
> reducing CPU heat (and battery drain) than doing it with TCC. I can get
> much better performance with lower battery consumption at 1200 MHz than
> at 900 MHz. Clearly, if both clock and TCC can provide identical
> performance, you want the slower clock. This is backwards from how it is
> now running as both 900 MHZ and 450 MHz can be achieved at either 1800
> MHZ or 1200MHz clocking, but are clocked at 1800 MHz.

The reason the EST settings reduce power so much is that they step the 
voltage as well as frequency.  We really want powerd to use frequencies 
based on their power consumption, not clock rate.  That's why I output 
that value along with the frequency via the sysctl.

I'd be interested if your testing showed the change in power consumption 
from frequencies composed of EST + TCC vs. just EST.  For example, a 
laptop that supports an EST setting of 1200 and p4tcc of 50% should 
offer a 600 mhz setting.  The power consumption of that vs. the raw 1200 
mhz setting should be linear, but it's not obvious what the coefficent 
would be.  For those settings, is the power savings worth the 
performance loss?

> I have yet to test with throttling in lieu of TCC, so I can't say if
> that will produce the same result, but these results were significant
> enough that I really want to try that, too. I have a feeling the IBM
> knew all of this when setting up the power management under Windows and
> that we can get much better battery life if we can take advantage of
> this.

Throttling should exactly equal TCC on your laptop since some BIOSes 
export TCC control via acpi throttling as well as directly through the MSRs.

> It can take several minutes for the temperature to stabilize. If TCC is
> present, I would expect similar results to mine. Pentium-M CPU with ESS,
> testing on P3-Ms which lack TCC and AMD PowerNow testing would also be
> very nice to see. If we can find consistent behavior, we can eliminate
> the use of the "bad" speeds and provide much better performance
> vs. battery drain and make a lot of laptop users happy. At lower clock
> rates, the count could be reduced to save time. For faster CPUs, a
> larger count may be needed. Some machines may stabilize the temperature
> more or less quickly than mine. I waited until the temperature was
> steady for 1 minute or until it "bounced".

There are two kinds of TCC, TM and TM2.  TM2 actually steps the voltage 
as well as the frequency.  However, it only provides the same settings 
as EST (in fact, it's just another way to access EST).

> Can someone refresh my memory on whether there is an easy way to prevent
> TCC from being used on a CPU that supports it? Otherwise I can edit the
> source code and force the use of throttling.

At the loader prompt or in /boot/loader.conf:

Other drivers you can individually disable besides p4tcc include 
acpi_throttle, acpi_perf, est, and powernow.


More information about the freebsd-acpi mailing list