A request recently came in (yes, from a
premium user) for doing some fresh benchmarks atop the brand new
Linux 4.4 kernel while comparing the
P-State and
CPUFreq CPU scaling drivers and their different scaling governor options.
This test has been done many times before on Phoronix -- including looking both at the raw performance as well as how the power efficiency and power consumption are affected. Generally for modern generations of Intel hardware, P-State is now the default on most Linux distributions and it tends to offer better performance.
With this Linux 4.4 P-State vs. CPUFreq comparison just being a quick benchmarking roundabout done over the weekend (and with my WattsUp Pro power meter being busy with
the upcoming big NVIDIA Linux comparison), the results here are just looking at what scaling driver/governor combination is delivering the best raw performance. You can see our many past articles using the CPUFreq/P-State links above if you are interested more in the best power efficiency.
These new tests were done on an Intel Xeon E5-2687W v3 Haswell system with AMD FirePro V7900 Cayman graphics card using the open-source driver. Linux 4.4.0 was running atop Ubuntu 16.04 in its current development form.
The only thing being changed during testing was the CPU scaling governor/driver; the reported CPU frequency difference just comes down to CPUFreq reporting via sysfs the base clock frequency while P-State reports the Intel Turbo boost frequency. Tested combinations were P-State powersave, P-State performance, CPUFreq performance, CPUFreq Ondemand, CPUFreq Powersave, and CPUFreq Conservative.
With the Tesseract Linux game, the only case where the frame-rate came in a little bit short was for CPUFreq powersave.
With the Xonotic game at lower image quality settings is where the governors and drivers made a big impact. For Xonotic, P-State was clearly better than CPUFreq while this is one of the rare tests where P-State performance makes a difference over P-State powersave, which obviously comes out better.
As the graphics workload increased, the different CPU scaling drivers/governors make less of a difference since the GPU is now swamped.
P-State was leading over CPUFreq for the x264 video encoding on the Xeon CPU.
CPUFreq Powersave really slowed things down when it came to timing a Linux kernel compilation.
CPUFreq power-saving also slowed down the C-Ray multi-threaded ray-tracer. Fortunately, P-State powersave was unaffected.
FLAC audio encoding too...
You can go find more of these CPUFreq vs. P-State driver benchmarks from the fresh Linux 4.4 kernel via
this OpenBenchmarking.org comparison result file. With most Linux distributions defaulting to P-State, the right choice is made for modern Intel hardware. However, I routinely on multiple systems still experience behavior where on some boots the system defaults to power-save while on other boots it uses performance, as reported via sysfs.