No, disable intel_pstate doesn't mean you "unlocked" anything, at least base on the fact

abstergone1.png

I think this was something that we all made mistake, adding intel_pstate=disable into grub command-line, seeing it open more CPU Frequencies to choose, and then thinking that it "unlocked" the frequencies. I used to believe the same, until I read more about these I realized that it was not. It's not "unlock" anything, it just switching intel_pstate to a general cpu-freq scaling driver called acpi_cpufreq
So let's start to find out what is CPUFreq. According to a post by Lenovo

Cpufreq, also referred to as CPU frequency scaling or CPU speed scaling, is the infrastructure in the Linux kernel space that enables users to scale the CPU frequency in order to save power.
source : https://lenovopress.com/lp0826.pdf

On Intel CPUs, there are 2 CPUFreq drivers that control the power : intel_ pstate and acpi-cpufreq . intel_pstate is a CPUFreq driver made by Intel, support from Sandy Bridge (Intel 2nd Gen) and above while acpi-cpufreq is a generic one, used in most of the CPUs including AMD one.
So what's the difference between those two ? Well.... you can clearly see that intel_pstate limit the control or what the tweaking of your CPU while acpi_cpufreq gave you the full control of the frequencies, clocking control (but no overclock, just in a limit). intel_pstate got 2 main governors : performance and powersave - the name say it all for your purpose (from kernel 5.7 Intel started to add schedutil so we got 3), acpi_cpufreq on the other hand gave you the linux kernel's governors you see on devices like Android including : performance, schedutil, powersave, ondemand and conservative.

Ok now you know the difference between the two, but you may wanna ask : How are these two perform ?
On Android, so far no one made a scientific or detail benchmark. But on Linux, Phoronix has covered it for a couple of times now.


there is also a post by Percona in 2016 benchmarking intel_pstate and acpi_cpufreq

  • Both ACPI and Intel_pstate “performance” governor shows the best (and practically identical) performance

In short, it doesn't matter if you disable intel_pstate or not if you only use Performance governors. You are just switching from what Intel think you should do, to you decide on your own.
 
Last edited by a moderator:

Yasla

New member
VC
30
You could have add that there is still a limited "clocking control" in intel_pstate but instead of clocking each core-processor (on its own) with any MHz you want (or given possibilities), pstate only allows you to set maximum and minimum percentages of the highest possible frequency which are applied to all core-processors.


This is for people who don't know anything about pstate:

Example: You have a processor with 2GHz. You set the maximum to 80% and minimum to 40%. If your governor is "performance", all of your core-processors will stay at 1.6GHz permanently (until thermal throttling joins the game), if you switch to governor "powersave" your core-processors will go down to 800MHz (if you're running a process which needs more power it will go above 800MHz bur never over 1.6GHz.)​
 

Similar threads

Similar threads

Top