On i9-12900K, the value of Highest_Performance field in IA32_HWP_CAPABILITIES
MSR are not equal, which causes linux kernel reporting different value for each thread in /sys/devices/system/cpu/cpu${id}/cpufreq/cpuinfo_max_freq
. There are 2C/4T of P-Core values 0x43 (6700MHz) while the remaining 6C/12T value 0x41 (6500MHz).
Changing microcode revision makes no difference, I've tried 15 and 1f, the reading of IA32_HWP_CAPABILITIES
MSR are the same.
This seems only happens on ADL desktop processors, my friend's i5-12500H has the same 0x3a (5800MHz) on all P-Core.
I've searched through the SDM, and cannot find anything about this issue. It only says IA32_HWP_CAPABILITIES
is a thread-scoped MSR.
I'd like to ask why there are the difference in the Highest_Performance field. Is it documented somewhere? Does it mean some cores are able to run faster than the others?