Further testing of power management
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
> 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
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