Single-line Intel Meteor Lake Linux patch boosts performance by 72%

Acer Meteor Lake
(Image credit: Tom's Hardware)

Intel recently released a one-line code patch for its Meteor Lake CPUs, resulting in huge performance wins in Linux. That single line of code fine-tunes the P-State CPU frequency scaling driver. In benchmark tests, the seemingly minor change resulted in Linux performance increases as high as 72% on Intel's Core Ultra PC systems.

The patch, sent out on June 6, 2024, adjusts the Intel P-State Energy Performance Preference (EPP) default “balance_performance” value. This sets the balance between power and performance in a processor. The allowable range for the EPP is from 0 to 255 and it was set to 128 in February before Intel changed it to 115. The latest patch further refines the value from 115 to 64.

Initial testing of the change showed up to 19% better performance on the Meteor Lake processors and up to 11% improvement in performance per watt. Michael Larabel at Phoronix decided to conduct some more extensive benchmark tests to determine how much better the Meteor Lake CPU could perform after the single-line patch.

Testing was conducted using an Acer Swift Go 14 with the Intel Core Ultra 155H running the current Linux 6.10 kernel. Larabel ran benchmarks pre-update, then applied Intel’s patch to the kernel and reran the same tests. He performed more than 100 benchmarks testing the patch and found the change yielded an improvement of 7% to the geometric mean across all tests.

Most notably, the Kvazaar 2.2 Bosphorus 4K video encoding benchmark with a preset of Super Fast blazed through at 20.51 frames per second with the patch. Without the patch, encoding happened at 11.94 fps. Hence, the one line of changed code resulted in an improvement in video encoding of 72% with the Meteor Lake laptop. Other video encoding benchmarks were also improved, but not as dramatically.

Kvazaar 2.2 video encoding benchmark for 4K encoding at Super Fast video preset (Image credit: Phoronix)
Swipe to scroll horizontally
Kvazaar 2.2 video encoding benchmarks using Bosphorus 4K video input
Video PresetLinux 6.10 GitLinux 6.10 Git + Meteor Lak PatchPerformance Increase
Slow0.1850.1998%
Very Fast11.9716.8741%
Super Fast11.9420.5172%
Ultra Fast17.3528.1762%

The least impressive performance increase observed was in Python testing, coming in at just a 2% uptick with the patch applied. Still, any increase is better than none, and the overall improvement can be appreciated by anybody trying to get the most out of their Meteor Lake processor. Larabel hopes the patch will be included in the Linux 6.11 Git kernel, if not applied as a maintenance fix for the current Linux 6.10 cycle.

Jeff Butts
Contributing Writer

Jeff Butts has been covering tech news for more than a decade, and his IT experience predates the internet. Yes, he remembers when 9600 baud was “fast.” He especially enjoys covering DIY and Maker topics, along with anything on the bleeding edge of technology.

  • danwat1234
    Yes, but what does that parameter do? What are the actual changes to clock speeds or pcore versus ecore utilization?
    Reply
  • cyrusfox
    danwat1234 said:
    Yes, but what does that parameter do? What are the actual changes to clock speeds or pcore versus ecore utilization?
    Had to look this up, values close to 0 for EPP prioritize performance, close to 255 prioritize power savings.

    The P-State Energy Performance Preference (EPP) is a setting within Intel's P-State (Processor State) power management system that allows the operating system or firmware to balance the trade-off between power consumption and performance. The P-State system is part of Intel's SpeedStep technology, which dynamically adjusts the processor's clock speed and voltage to save energy when full performance is not needed and to provide performance when it is demanded.
    Changing the default from 128 to 115, then ending up 64, this favors performance over power savings in theory... was there an appreciable change to battery life/consumption is the question I am interested in?

    I would think their would be a plugged in profile that would set the EPP aggressively(0-64), then it would swing to a different value/mode when on battery depending on user setting(128-255). I don't know how Linux handles this, that has always been one my complaints on running Linux on old laptops. I never seem to get the power settings right and they drain themselves aggressively doing nothing. Apple is king when it comes to mobile computing experiencing in my limited experience, Windows is ok, and Linux is garbage. This change likely reenforces my experience. Why is this not more customer facing setting which can be set in a custom power profile on Linux?
    Reply
  • bit_user
    The title said:
    Single-line Intel Meteor Lake Linux patch boosts performance by 72%
    What a load of clickbait! I mean that's just factually incorrect. The article states it's "up to 72%", and that was an extreme outlier case! The geomean is only 6.7% faster. Not only that, but highlighting the size of the patch is misleading when it's really just a tuning adjustment to a constant for one of the power plans.

    As you might guess from the above, the additional performance comes at a price, which is paid in more power. 4.9% more power, according to the test suite averages that are presented at the end of the phoronix article. So, it's not exactly a free lunch - especially if you care about long battery life or don't like your laptop fan making a ton of noise.

    The article said:
    Larabel hopes the patch will be included in the Linux 6.11 Git kernel, if not applied as a maintenance fix for the current Linux 6.10 cycle.
    The sad part is that it's compiled directly into the kernel, rather than being a loadable module or maybe read from a config file, better yet!
    Reply
  • bit_user
    cyrusfox said:
    I don't know how Linux handles this, that has always been one my complaints on running Linux on old laptops. I never seem to get the power settings right and they drain themselves aggressively doing nothing.
    The Skylake laptop I got in 2017 never seemed to have abnormally poor battery life, though I mostly used it plugged in. You can indeed have different power plans come into effect, depending on whether it's using A/C or battery power.

    cyrusfox said:
    This change likely reenforces my experience. Why is this not more customer facing setting which can be set in a custom power profile on Linux?
    Those constants are hardware-specific. They're one level below what a user is meant to adjust. I think the idea was that, absent detailed knowledge of the hardware, it wouldn't make sense for a user to adjust those.

    Intel's p_state driver exposes an EBP value (Energy/Performance Bias) that ranges from 0-15, which you can tune according to your preference. It's all described here:
    https://wiki.archlinux.org/title/CPU_frequency_scaling#Intel_performance_and_energy_bias_hint
    Reply
  • TerryLaze
    bit_user said:
    The geomean is only 6.7% faster. Not only that, but highlighting the size of the patch is misleading when it's really just a tuning adjustment to a constant for one of the power plans.

    As you might guess from the above, the additional performance comes at a price, which is paid in more power. 4.9% more power, according to the test suite averages, at the end of the phoronix article. So, it's not exactly a free lunch - especially if you care about long battery life or don't like your laptop fan making a ton of noise.
    It uses less more power than the more performance it provides, so especially if you care about long battery life it has a positive effect.
    Reply
  • bit_user
    TerryLaze said:
    It uses less more power than the more performance it provides,
    Yes, that's why they can claim it improves efficiency.

    TerryLaze said:
    so especially if you care about long battery life it has a positive effect.
    It only benefits battery life if you're using your laptop to do a set number of fixed-length tasks, like perform a certain number of renders or code compiles. However, if you just start another render or compile pretty much as soon as the previous one finished, you'll run out of battery sooner (but having gotten more done, before then).

    If you use it for a task that soaks up the performance, like gaming, then the greater power utilization will simply and directly translate into shorter battery life. Your only benefit would be slightly higher framerates.
    Reply
  • TerryLaze
    bit_user said:
    If you use it for a task that soaks up the performance, like gaming, then the greater power utilization will simply and directly translate into shorter battery life. Your only benefit would be slightly higher framerates.
    Extremely doubtful unless we are talking about a laptop with a big enough GPU and in that case you have to game while plugged in anyway.
    When gaming on a laptop most of the power draw comes from the GPU, the CPU only works as hard as it has to to reach the FPS the GPU can reach.
    Reply