Kworker events_unbound stuck at 100% CPU, laptop slows to 1 FPS

Ubuntu 24.04.1 LTS
Linux 6.8.0-51-generic #52-Ubuntu
BIOS 0.0.3.5
Framework 16 Ryzen 7840HS
No GPU expansion

This issue began happening when I upgraded the BIOS from 0.0.3.3 and the kernel from -49 (stupidly, at the same time). I’d had the laptop for several months before that with no issues.

When using the laptop, suddenly it will get VERY slow, updating the screen only about 1 FPS; I notice first with mouse movements, but also keyboard, or any other interaction. However it isn’t progressive; it goes straight to that speed, and then can be used (barely) for some time without getting worse or freezing completely.

The only obvious hint of what’s going on is that a single kworker process becomes pinned at 100% CPU, working events_unbound.

I believe this is NOT related to these issues:
community.frame.work/t/tracking-kworker-stuck-at-near-100-cpu-usage-with-ubuntu-22-04/23053
community.frame.work/t/tracking-amd-small-group-of-kworkers-keeping-cpu-0-busy-after-suspend-resume-cycle-s/45002/1
Those seem to have to do with USB, power management, and gpe10. Disabling gpe10 did not solve my issue. (sorry for link formatting, forum is limiting my number of links)

Rather, I think I have the same issue described in these tickets:

https://bbs.archlinux.org/viewtopic.php?id=299561

These are related to the amdgpu driver. I have confirmed that when the issue is occurring, cat /sys/kernel/debug/dri/1/amdgpu_gpu_recover fixes it. I have not yet tested the persistent fix mentioned of adding kernel param amdgpu.dcdebugmask=0x10.

As described in those issues, it seems to happen to me when I’m watching/scrubbing videos.

Wanted to share this here in case others are having the same issue, despite this not appearing to be a Framework-specific problem.

3 Likes

I had something similar with Kernel 6.11 which was fixed in 6.12. So I’d recommend opening a bug report at Canonicals bug tracker and tell them when they decide to ship a non-LTS Kernel with an LTS distro, they should better make sure to port back such fixes. Or you find a way to compile 6.12 yourself. I know it’s very easy for Debian, as they hardly ever carry any additional fixes that haevn’t been upstreamed, but I think Ubuntu does carry quite a few. Maybe you find a PPA that you can use in the mean time.