Processor Clock Throttling Support for Solaris
Wednesday Apr 22, 2009
Solaris support for processor clock throttling is being introduced into Solaris 10 as part of the Solaris 10 5/09 release. The support is passive in nature in that throttling is not a result of any OS related monitoring. Instead, Solaris will throttle the processor clock speed as a result of receiving ACPI _TPC notifications from the firmware.
Throttling is not considered an effective method for saving power and will occur simultaneously with frequency clock scaling and ACPI C-State management (which are the preferred methods for processor power management). The support for processor clock throttling has been added to Solaris mostly as a firmware thermal management mechanism. Whether or not this feature is available depends solely upon the firmware. Here is a handy DTrace script that can be used to see if any throttling is supported on your system:
#!/usr/sbin/dtrace -As
cpu_ts_err_msg
{
printf("%s", stringof(arg0));
}
The script above must be run using anonymous DTrace. This means that the script above should be run before rebooting. After reboot any messages can be retrieved by executing "/usr/sbin/dtrace -a".
In addition, any clock throttling activity can be monitored using the following DTrace script:
#!/usr/sbin/dtrace -s
throttle_transition
{
printf("%d", arg0);
}
More information regarding processor clock throttling (ACPI T-States) can be found in the ACPI specification at http://www.acpi.info/











Whew! Another year, another good post!
Mark, do...