Do you remember the "turbo" button from the 90s? The one that switched the CPU between two clock settings. For those who don't: its purpose wasn't to save energy or overclock your CPU — rather, it was used to preserve better compatibility with old programs, that expected specific CPU frequency.
We're talking about the times of DOS here, when programs could usually assume they've got the exclusive access to the CPU. So when a game was synchronized to the CPU clock, it would run twice as fast on a CPU that's got twice the clock. And I don't mind it ran more fluently — it literally went in fast forward. A few times faster CPU, and you couldn't play it anymore. You can still see the traces of that in DOSBox.
Of course, programs stopped relying on a specific clock, and the button eventually went extinct. The progress brought overclocking, and CPU scaling (#CPUFreq) to save energy and reduce noise. And finally, #PStates arrived as a more fancy kind of CPU scaling.
What's really interesting, that PStates brings a "boost" option. When it's off, the CPU is scaled as usual, up to the nominal frequency. However, when it's on, PStates can "overclock" individual cores, as long as it can get the necessary power and it doesn't cause the CPU to overheat.
And so, the history has come full circle, and the "turbo" button has returned:
cd /sys/devices/system/cpu/cpufreq
echo "$(( ! $(cat policy0/boost) ))" > boost
#Gentoo #Linux