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
