Bug 1219275 - nouveau: user interface slow (regression)
Summary: nouveau: user interface slow (regression)
Status: RESOLVED FIXED
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Kernel (show other bugs)
Version: Current
Hardware: x86-64 openSUSE Tumbleweed
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: openSUSE Kernel Bugs
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-29 10:04 UTC by Arvin Schnell
Modified: 2024-01-31 16:37 UTC (History)
5 users (show)

See Also:
Found By: Development
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
dmesg and hwinfo (238.61 KB, application/x-xz)
2024-01-29 16:53 UTC, Arvin Schnell
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Arvin Schnell 2024-01-29 10:04:27 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
Comment 1 Takashi Iwai 2024-01-29 16:35:39 UTC
Could you give the dmesg outputs from both working and broken cases?
Also the hwinfo outputs from both, too.
Comment 2 Arvin Schnell 2024-01-29 16:53:16 UTC
Created attachment 872274 [details]
dmesg and hwinfo
Comment 3 Arvin Schnell 2024-01-29 17:10:09 UTC
Does the kernel 6.7 have a new schedule or caching? Because sometimes
e.g. a redraw is slow and sometimes fast.
Comment 4 Takashi Iwai 2024-01-29 17:14:58 UTC
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.
Comment 5 Takashi Iwai 2024-01-30 10:12:29 UTC
(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
Comment 6 Arvin Schnell 2024-01-30 14:34:58 UTC
After half a day of using 6.8-rc2 I can say that it works great again.
Comment 7 Takashi Iwai 2024-01-30 14:49:42 UTC
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?
Comment 8 Arvin Schnell 2024-01-31 14:05:50 UTC
The kernel 6.7.2 from home:tiwai:bsc1219275 also works great.
Comment 9 Takashi Iwai 2024-01-31 15:02:53 UTC
(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.
Comment 10 Takashi Iwai 2024-01-31 16:35:09 UTC
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.
Comment 11 Takashi Iwai 2024-01-31 16:37:12 UTC
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"