Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.

P-State transition monitoring

rdmsr64
Beginner
1,371 Views
Hello,
I'm doing several profiling routines, including MSR_PERF_STATUS for P-State read-out.
I'm a bit puzzled as to why for SandyBridgeIA32_PERF_CTL is defined per thread but MSR_PERF_STATUS per package.
Windows and Linux Power Management are setting each core individually, but by reading out 0x198 on every core I also see individual P-States per core in PERF_STATUS.
Giving that PERF_STATUS is only defined per package, and not per thread, what should I make of it?
Could someone please clarify if this is intended or a documentation error?
Thanks
0 Kudos
5 Replies
Nicolae_P_Intel
Employee
1,371 Views
On IAdifferent cores from the same packageare always running at the same P-State. ThereforePERF_STATUS will give you the P-State all non-idlecores within a package are running at.
0 Kudos
rdmsr64
Beginner
1,371 Views
How doesIA32_APERF /IA32_MPERF (per thread) come into play if we only really need to read 0x198?
Is it a legacy algorithm (described in example 14-1 of volume 3A)? Or why do we have both, what's the difference on SandyBridge?
0 Kudos
Nicolae_P_Intel
Employee
1,371 Views
On IAdifferent cores from the same packageare always running at the same P-State. ThereforePERF_STATUS will give you the P-State all non-idlecores within a package are running at.
0 Kudos
rdmsr64
Beginner
1,371 Views
Could you please revisit, you seem to have posted the same answer?
0 Kudos
mkamruzz
Beginner
1,371 Views
That means it is NOT possible to apply dvfs per-core. Is it possible to use different frequency for different cores but same volatge in the same package?
0 Kudos
Reply