Processor Clock Throttling Support for Solaris

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/

Comments:

Whew! Another year, another good post!

Mark, do you know if there are any plans to get power scaling to work in (Open)Solaris with AMD gen 8 and 9 CPUs?

Posted by Florin on May 06, 2009 at 04:55 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Mark Haywood

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today