I have two machines on which I run the same OS, the same kernel, the same CPU freq scaling driver, and the same CPU freq scaling governor.
One will boost all core frequencies if one process pins a core.
One will boost only one physical core if there is one process pinning a core.
Machine A
CPU: Intel(R) Xeon(R) W-2140B CPU @ 3.20GHz
Scaling driver: intel_pstate
Scaling governor: powersave
OS: Ubuntu 21.10
Kernel: 5.13.0-22-generic
Machine B
CPU: 11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz
Scaling driver: intel_pstate
Scaling governor: powersave
OS: Ubuntu 21.10
Kernel: 5.13.0-22-generic
Observe these examples:
Pinning two cores on machine A: (NOTE that this machine has Hyperthreading, so scales up 4 of the 16 available virtual cores.)
Pinning two cores on machine B: (NOTE that this machine has 6 cores with HT, and scales up all 12 virtual cores.)
The screenshots are of freqtop, an open sourced frequency monitor that I wrote myself. The orange ticks show the load on each core defined as a percentage of user+kernel cycles in relation of total cycles (user+kernel+idle.)
Why does the i5-11600K CPU throttle up all cores, even if there is demand for just one?
UPDATE: A difference I found between machines is the number of pstates.
For the Xeon /sys/devices/system/cpu/intel_pstate
is set to 33, and the corei5 has it set to 42. I am not sure what the significance is for this.