Raj, Ashok wrote:
>>> It makes sense having to know what the dependencies are before we
>>> change processor speeds. But what about just asking what the current
>>> speed is (not changing it) so that it can be initialized...or is
> there
>>> no way to ask, and we have to change it to know?
>> Unfortunately, I don't think that's doable. It's one of the few things
>> that I don't like about the way Intel implemented P-states. Reading the
>> status MSR will not allow you to determine your current P-state. I
>> believe you have to set it to be certain. I think that the same is true
>> of SPARC.
>>
> 
> The spec Vol3.a 13.1.1 states IA32_PERF_STATUS is updated dynamically.
> And you can query IA32_PERF_CTL to determine what was last requested.

Right. You can't use IA32_PERF_STATUS because it might change due to C1E 
or other reasons. If you've actually set the P-state with the 
IA32_PERF_CTL MSR then you can check it later to see what P-state you set.

> Its just discouraged to make determination based on these since these
> are Model specific.

Right.

> Ideally we should use APERF/MPERF since is architecturally defined (as
> indicated by cpuid.6 to get the feedback mechanism to make P state
> decisions?

Yes, you can use APERF/MPERF to figure out how busy your processor is 
and use them to make P-state transition decisions, but it isn't a 
mechanism for determining your current P-state.

So, no I don't think we can count on being able to easily read the 
current speed at attach (and as I said, I don't think we can for SPARC 
either).

Mark

Reply via email to