Welcome to Intel® Software Network Quick Login | Join | Help |
Search in Intel® Software Network Forums
in Go

Processor frequency changes

Last post 06-24-2008, 11:32 AM by Igor Levicki. 2 replies.
Sort Posts: Previous Next
 06-13-2008, 1:00 PM 30256906  

Processor frequency changes

A couple of questions ...

1) Is there a way to know, from a driver, when a processor's frequency changes?  The OS (Windows) does not provide any callbacks for frequecy changes, and it does not appear to be any hardware interrupts generated on frequency/voltage transitions.

2) Is the bus multiplier value available in an MSR, or is it the ratio of APERF/MPERF, or something else? Don't know how public the first part of the question is.

3) On a Core 2 processor I can count EIST_TRANS (event 0x3A) and set it up to interrupt on every increment of the counter. Then in the interrupt handler calculate the APERF/MPERF ratio and come up with value for the frequency. Does that make sense? I'm insterested on servers, at moderate to high utilization so I'm assuming the rate of frequency/voltage transitions is low (a few per second).

Enio.

 

 
 06-13-2008, 2:34 PM 30256908 in reply to 30256906  

Re: Processor frequency changes

The bus multiplier is available by MSR, requiring Administrator or root privilege.  In a web search, you will find several utilities which appear to use it; possibly by reverse engineering.  I haven't seen open source code examples.  People who write drivers professionally are expected to open a support account, such as mentioned earlier on this forum.

I guess your proposal makes sense.  I can judge it only by open web references, where the actual e-mail addresses of the real experts are listed.

 
 06-24-2008, 11:32 AM 30257602 in reply to 30256906  

Re: Processor frequency changes

You should first check whether state transition notifications are available via WMI (Windows Management and Instrumentation). If not then you will have to write driver.

However, do not assume that you will have a free performance counter for monitoring that particular event. At present I am not aware of any mechanism which could be used to query whether the counter is free or in use by another process.


Regards,
Igor Levicki
http://www.levicki.net/
 
View as RSS news feed in XML

Shortcuts


Tags For This Post

...

Community Tags

...