It took a little longer than expected, but Solaris support for Intel 
Enhanced Speedstep just integrated into Nevada.  It's implemented as a 
CPU driver that is managed by the Solaris Power Management Framework.

A couple of requirements need to be met in order for the driver to 
support Enhanced Speedstep:

1 - The processor's TSC must be P-State TSC invariant. Seems that this 
translates to
    Intel processor families 0xF (models >= 0x3) and 0x6 (models >= 
0xE). I know that
    this includes (at least) Pentium 4, Xeon, Core and Core Duo.

2 - BIOS support. Frequently, there is a BIOS setting that enables/disables
    Enhanced Speedstep. It needs to be enabled *and* when it is enabled 
the BIOS
    needs to export sound ACPI data (i.e., good _PSS tables).

As I think I mentioned in an earlier thread, the PM framework 
(currently, at least) places some limitations on the rate at which CPUs 
can switch P-States. Specifically, the framework scans at 15 second 
intervals to see if a device should be transitioned to a lower power 
level (raising power levels can happen at any interval). Obviously, this 
is going to be unacceptable long-term. One of the things we'll have to 
figure out as part of tesla is whether or not CPU power management can 
continue to be implemented in this way (with modifications to the PM 
framework to allow for more frequent scans of CPU devices). If not, then 
we'll have to figure out how CPU power management fits into the existing 
PM story (in particular suspend/resume).

In any case, we have a start.

Mark




Reply via email to