A Linux 6.15 Performance Regression Hits Modern AMD CPUs

Written by Michael Larabel in Software on 28 April 2025 at 03:53 PM EDT. Page 1 of 3. 42 Comments.

Separate from last week in uncovering a big performance regression on Linux 6.15 affecting workloads like Nginx and that regression getting fixed, I unfortunately discovered another heavy-hitting regression on Linux 6.15. This latest performance regression has been bisected and a possible fix is being thought through by the relevant party, but for the moment has yet to be fixed upstream and affects modern AMD processors.

When running some new Linux 6.15 Git kernel benchmarks toward the end of last week I unfortunately began noticing a number of performance regressions relative to Linux 6.14 stable. This round of testing was on a dual AMD EPYC 9755 "Turin" server.

Linux 6.15 AMD CPU Performance Regression Benchmarks

In a number of different workloads I encountered lower performance with Linux 6.15 Git on this high-end AMD EPYC server than when using Linux 6.14 stable:

Timed Godot Game Engine Compilation benchmark with settings of Time To Compile. Linux 6.14 was the fastest.
Timed LLVM Compilation benchmark with settings of Build System: Ninja. Linux 6.14 was the fastest.

Code compilation benchmarks were noticeably slower when running atop the Linux 6.15 Git kernel... 10% slower code compilation jobs from a kernel upgrade? Uh oh!

SecureMark benchmark with settings of Benchmark: SecureMark-TLS. Linux 6.14 was the fastest.
CloverLeaf benchmark with settings of Input: clover_bm64_short. Linux 6.14 was the fastest.
QMCPACK benchmark with settings of Input: Li2_STO_ae. Linux 6.14 was the fastest.
OpenRadioss benchmark with settings of Model: INIVOL and Fluid Structure Interaction Drop Container. Linux 6.14 was the fastest.
Intel Open Image Denoise benchmark with settings of Run: RT.ldr_alb_nrm.3840x2160, Device: CPU-Only. Linux 6.14 was the fastest.
7-Zip Compression benchmark with settings of Test: Decompression Rating. Linux 6.14 was the fastest.
SVT-AV1 benchmark with settings of Encoder Mode: Preset 12, Input: Bosphorus 4K. Linux 6.14 was the fastest.
SVT-AV1 benchmark with settings of Encoder Mode: Preset 8, Input: Bosphorus 4K. Linux 6.14 was the fastest.
WebP Image Encode benchmark with settings of Encode Settings: Quality 100, Lossless, Highest Compression. Linux 6.14 was the fastest.
libavif avifenc benchmark with settings of Encoder Speed: 0. Linux 6.14 was the fastest.
ASTC Encoder benchmark with settings of Preset: Thorough. Linux 6.14 was the fastest.
Liquid-DSP benchmark with settings of Threads: 1, Buffer Length: 256, Filter Length: 512. Linux 6.14 was the fastest.

But it wasn't just code compilation tasks that were slower on the new kernel but also high performance computing (HPC) workloads, video encoding/transcoding, image encoding, digital signal processing, and a variety of other workloads.

At that point I knew my weekend would be over and spent exploring this performance regression. Now to figure out what the hell was going on.

Related Articles