Linux Fixing A Major Performance Issue For Intel Hybrid Systems With Buggy Firmware

Written by Michael Larabel in Intel on 27 June 2024 at 08:25 PM EDT. 15 Comments
INTEL
Sent in as the sole patch for this week's Linux power management subsystem updates is an important fix for Intel Core hybrid systems with buggy firmware. The Intel P-State driver fix can address as much as a 50% performance hit seen with existing Linux kernel versions on affected Intel hybrid platforms.

A Kubuntu Focus developer last week reported a power management issue that breaks scheduling on heterogeneous core Intel systems with buggy firmware. It turns out systems failing to report ACPI CPPC v2 capabilities could lead to very poor performance going all the way back to Linux 5.19. On systems like with an Intel Core i5 13500H and using the EEVDF scheduler, as much as a 50% performance hit could be observed with Geekbench. There have also been other similar bug reports in recent times.

Intel hybrid laptop


Intel engineer and Linux power management subsystem maintainer Rafael Wysocki authored a patch to use HWP data to initialize Intel Turbo Boost Max Technology if the ACPI Collaborative Processor Performance Control (CPPC) information is absent from the system firmware. He explained:
"It is reported that single-thread performance on some hybrid systems dropped significantly after commit 7feec7430edd ("ACPI: CPPC: Only probe for _CPC if CPPC v2 is acked") which prevented _CPC from being used if the support for it had not been confirmed by the platform firmware.

The problem is that if the platform firmware does not confirm CPPC v2 support, cppc_get_perf_caps() returns an error which prevents the intel_pstate driver from enabling ITMT. Consequently, the scheduler does not get any hints on CPU performance differences, so in a hybrid system some tasks may run on CPUs with lower capacity even though they should be running on high-capacity CPUs.

To address this, modify intel_pstate to use the information from MSR_HWP_CAPABILITIES to enable ITMT if CPPC is not available (which is done already if the highest performance number coming from CPPC is not realistic)."

Obviously not enabling Intel Turbo Boost Max Technology is bad for performance... But again it's just affecting Intel Core hybrid systems with buggy firmware not exposing CPPC.

Today's power management pull request ahead of Linux 6.10-rc6 on Sunday adds this Intel P-State driver patch. Linus Torvalds should be pulling this code in today or tomorrow for Linux 6.10. This patch is also marked for back-porting to supported Linux kernel versions since Linux 5.19, a kernel first released in 2022.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week