Bugzilla – Bug 1219275
nouveau: user interface slow (regression)
Last modified: 2024-01-31 16:37:12 UTC
With the latest kernel-default 6.7.1-1.1 the user interface is slower than before with 6.6.11-1.1. E.g. I can clearly see how windows are redrawn (e.g. content of xterm). I can pinpoint this to the kernel since booting the old kernel resolves the problem. System information: Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 32 GiB RAM NVIDIA Corporation GP107GL [Quadro P600] (rev a1) using nouveau
Could you give the dmesg outputs from both working and broken cases? Also the hwinfo outputs from both, too.
Created attachment 872274 [details] dmesg and hwinfo
Does the kernel 6.7 have a new schedule or caching? Because sometimes e.g. a redraw is slow and sometimes fast.
Then it's rather changes in GPU scheduler. There has been significant reworks in 6.7. You can try 6.8-rc2 kernel found in IBS Devel:Kernel:master repo. This got a revert in nouveau. I'm not sure whether it's relevant with your problem, but it's worth to try.
(In reply to Takashi Iwai from comment #4) > You can try 6.8-rc2 kernel found in IBS Devel:Kernel:master repo. > This got a revert in nouveau. I'm not sure whether it's relevant with your > problem, but it's worth to try. And if the problem persists with 6.8-rc2, we should report this to the upstream, gitlab issues DRM/nouveau: https://gitlab.freedesktop.org/drm/nouveau/-/issues also report to the linux kernel regression: https://docs.kernel.org/admin-guide/reporting-regressions.html
After half a day of using 6.8-rc2 I can say that it works great again.
OK, it's a good news, at least. But nouveau received lots of changes since 6.7, and it's hard to say which really fixed your problem; the changes including the significant scheduler changes in nouveau, and that might be the fix in your case. Or it might be the last revert in 6.8-rc2... As an easy try, I backported the patches with Cc-to-stable from 6.8. There were three commits including the revert one I mentioned in the above. The test kernel is being built in OBS home:tiwai:bsc1219275 repo. Could you give it a try later, once after the build finishes?
The kernel 6.7.2 from home:tiwai:bsc1219275 also works great.
(In reply to Arvin Schnell from comment #8) > The kernel 6.7.2 from home:tiwai:bsc1219275 also works great. It's a good news! Then I just need to merge those stable fixes for 6.7. Will work on PR later.
Now the fix was pushed to my stable/for-next branch. It'll be included in the future TW update kernel (maybe 6.7.3). You can keep my test kernel until the fix kernel is released.
FWIW, the backported commits are: 205e18c13545ab43cc4fe4930732b4feef551198 nouveau/gsp: handle engines in runl without nonstall interrupts. cacea81390fd8c8c85404e5eb2adeb83d87a912e nouveau/vmm: don't set addr on the fail path to avoid warning 4d7acc8f48bcf27d0dc068f02e55c77e840b9110 Revert "nouveau: push event block/allowing out of the fence context"