The Linux 6.9 Kernel has been very problematic for me. When I boot into it, all my applications seem stuck running on only one core rather than spread over all the cores my CPU offers. This slows down my applications and games greatly.
I’ve got an older motherboard and an pre-Ryzen CPU, an AMD FX-6300. When booting a 6.8 series kernel, my performance is just fine. When booting a 6.9 kernel, nothing I can do seems to discourage my system from running absolutely everything it can on Core 0 until it pegs at 100% usage, and then leaves the other cores almost completely unused. I’ve tried using cpupower to set all my cores to ‘OnDemand’ governors, but that doesn’t seem to accomplish much. I’ve been researching the problem, and don’t see much to illuminate what might be happening. I’ve used both mainline and zen kernels with very similar results. I know the 6.9 kernel gained better support for preferred cores on Ryzen systems, but the FX-6300 predates Ryzen by quite a bit. I’m at a loss and trying to figure out the best way to move forward.
Any help is appreciated.
Here’s the output of inxi -FAZ for my system running the 6.8 kernel that works best for me:
Is there an auto overclock feature turned on in the Bios? I also notice your Bios is version F4 2011. There are 4 newer Bios versions with newer AMD AGESA for this board. I assume the motherboard is revision 1.0/1.1
Edit: If turbo mode is set enabled it may not be able to throttle properly.
It is a 1.1 board. I flashed the latest bios available from gigabyte’s website, but it’s still showing the same behavior when booting into the mainline 6.9 kernel.
There’s one of my favorite testing loads. On 6.8.9, Factorio spreads out over all 6 cores while loading all its textures to the GPU. On 6.9, it picks just one and sticks with it.
The motherboard does have a ‘Performance Boost’ setting. I’ve left it set to ‘Auto’.
I have tried the LTS kernel, currently 6.6.32. It’s in the same boat with the 6.8.9… ie, it works normally. The problem seems to be limited to the 6.9 series.
And you could/should file a bug report to kernel developers. Fortunately this behaviour is reproduceable and came with 6.9 line. So I guess it can easier be fixed than the weird from time to time issues
I’d considered filing a kernel bug, but kernel.org strongly discourages individuals filing their own bugs in favor of going through their distribution.
Right now, that’s my fallback plan. With a system as old as mine, I’m not buying myself terribly a lot by using bleeding edge kernels. However, bleeding edge eventually becomes LTS, and since this problem has gone through two dot releases with the same behavior now, I felt it best to start mentioning it, especially since I can’t seem to find anyone else who has the same combo of hardware and kernel issue.
Thank you so much for pointing this thread out! It wasn’t there when I posted this issue here. I chimed into the Opensuse thread to add confirmation. This does appear to be a kernel issue and not an OS-specific issue.
that will hopefully prove a fix for those of us affected on eventually all distros.
My understanding of the bug is that the Linux Kernel is mis-identifying FX/Piledriver-series CPUs like mine, the one in the LKML post, and the Suse forums post as Zen-series CPUs, and that using the wrong SMT topology causes the ‘locked on one core’ behavior.
Thank you all so much for looking into this guy with me. Thank you mbod for pointing out the Suse discussion. I’ve weighed in there and am tangentially mentioned in the Suse bug report.
This is one of the many reasons why the Linux community is amazing.