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?
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.