0

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?

KagurazakaKotori
  • 562
  • 4
  • 14

1 Answers1

1

Could be turbo boost 3.0 where one or some cores are "favoured", able to turbo higher than others. https://www.tomshardware.com/reference/intel-favored-cpu-cores-turbo-boost-max-technology-3.0

This was a thing before Alder Lake, and it seems likely that it would still be a thing for the P-cores on some ADL models, separate from the existence of the clusters of E-cores.

Maybe your friend's CPU happens to have equal max frequencies on all cores, maybe because they're artificially capped (for market-segmentation reasons; it's an i5) lower than testing found they were actually capable of running.

Peter Cordes
  • 328,167
  • 45
  • 605
  • 847