nouveau.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Karol Herbst <kherbst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Karol Herbst <kherbst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Ben Skeggs <bskeggs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	LKML <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	nouveau
	<nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
Subject: Re: nouveau regression post v5.8, still present in v5.10
Date: Thu, 21 Jan 2021 10:11:08 +0100	[thread overview]
Message-ID: <CACO55tu+5vv3dU3+O=DGDo9EdcyqFtpF4WR-VNj5eo89WMSfpw@mail.gmail.com> (raw)
In-Reply-To: <YAjn9jR+d2zRfNjb-3MLwneIWSru5Joj7rniG6R4hnT+Y9+D1@public.gmane.org>

fyi, there is a patch which solves a maybe related issue on your GPU,
mind giving it a try before we dig further?
https://gitlab.freedesktop.org/drm/nouveau/-/issues/14#note_767791

On Thu, Jan 21, 2021 at 3:33 AM Jamie Heilman
<jamie-3MLwneIWSru5Joj7rniG6R4hnT+Y9+D1@public.gmane.org> wrote:
>
> Karol Herbst wrote:
> > On Wed, Jan 6, 2021 at 4:25 AM Jamie Heilman
> > <jamie-3MLwneIWSru5Joj7rniG6R4hnT+Y9+D1@public.gmane.org> wrote:
> > >
> > > Jamie Heilman wrote:
> > > > Jamie Heilman wrote:
> > > > > Karol Herbst wrote:
> > > > > > do you think you'd be able to do a kernel bisect in order to pinpoint
> > > > > > the actual commit causing it? Thanks
> > > > >
> > > > > No.  I can't reproduce it reliably.  I if I could, bisection wouldn't
> > > > > be a problem but as I can't and as it can take weeks for the problem
> > > > > to occur there's essentially no chance.  I know it regressed roughly
> > > > > in 5.8-rc1 only because that's what I was running when the first event
> > > > > occured.
> > > >
> > > > er, 5.9.0-rc1 rather
> > >
> > > Actually ... I've found a way to reproduce this in hours intead of
> > > weeks, so I think I may be able to bisect it after all, it's something
> > > of a brute force approach and its probably doing horrible things to
> > > the backlight in my poor old monitor, but just running this:
> > >
> > > #!/bin/sh
> > > sleep 5
> > > while ! dmesg | tail | grep -q nouveau
> > > do
> > >     xset dpms force off
> > >     sleep 65
> > >     xdotool mousemove 1024 1024 mousemove restore
> > >     sleep 10
> > > done
> > >
> > > Does manage to trip the issue sooner than it would otherwise happen
> > > with natural usage.  Given that this is my primary workstation and I
> > > sort of need it functional during waking hours, it'll take me a bit,
> > > but I'll update folks when I have the error more dialed in.
> > >
> >
> > huh interesting. Kind of feels like a random thing still. But I think
> > in general you'd spend way too much time on this if you can't
> > reproduce within seconds/minutes and then it might not point out the
> > actual issue, because randomly the issue didn't appear and stuff.
> >
> > maybe you can tune it to have shorter pauses or something? I'd really
> > try to bring down the time per cycle.
>
> Well I'm confident enough, at this point, to say this bisects to
> 0a96099691c8 ("drm/nouveau/kms/nv50-: implement proper push buffer control logic")
>
> Now... I wish I could say the bisection was straightforward and
> simple, but it wasn't thanks to still not having a reproducer really
> dialed in.  The above script doesn't work unless I've got some normal
> usage around it.  It certainly triggers the issue sooner than it
> otherwise would, but by itself it isn't enough.  I modified it
> somewhat in the hopes of capturing the rough idea of how many
> itterations it would take to trigger the problem by using:
>
> #!/bin/sh
> I=0
> trap 'echo;echo $I' 0
> trap 'exit' INT
> sleep 5
> while ! dmesg | tail | grep -q nouveau
> do
>     I=$(($I + 1))
>     xset dpms force off
>     sleep 32
>     xdotool mousemove 1 12 mousemove restore
>     sleep 28
> done
>
> but ultimately that didn't really pan out the way I'd hoped.  I don't
> think the itterations have all that much to do with the condition in
> the end.  I wanted to try applying ca386aa7155a
> ("drm/nouveau/kms/nv50-gp1xx: add WAR for EVO push buffer HW bug") on
> top of the first bad commit becuase I sort of felt like when I was
> running -rc versions that things got a bit less chaotic after that
> commit landed, but it was just a gut feeling and I wanted to see if I
> could support it with metrics---but no, I can't really get consistent
> metrics even without that commit so I gave up, and decided to report
> what I've got so far.
>
>
>
> > > I'm using git bisect start -- drivers/gpu/drm include/drm include/video
> > > in an effort to make this go a bit quicker, let me know if you think
> > > that's a bad idea or I should add other paths.
> > >
> > > > > > On Sun, Dec 27, 2020 at 8:16 PM Jamie Heilman
> > > > > > <jamie-3MLwneIWSru5Joj7rniG6R4hnT+Y9+D1@public.gmane.org> wrote:
> > > > > > >
> > > > > > > Something between v5.8 and v5.9 has resulted in periodically losing video.
> > > > > > > Unfortunately, I can't reliably reproduce it, it seems to happen every
> > > > > > > once in a long while---I can go weeks without an occurance, but it
> > > > > > > always seems to happen after my workstation has been idle long enough
> > > > > > > to screen blank and put the monitor to sleep.  I'm using a single
> > > > > > > display (Dell 2405FPW) connected via DVI, running X (Xorg 1.20.x from
> > > > > > > Debian sid).  I don't really do anything fancy, xterms, a browser or
> > > > > > > two, play the occasional video, but like I said, I can't reliably
> > > > > > > reproduce this.  I've had it happen about 11 times since August.
> > > > > > >
> > > > > > > lspci -vv output is:
> > > > > > >
> > > > > > > 01:00.0 VGA compatible controller: NVIDIA Corporation G86 [Quadro NVS 290] (rev a1) (prog-if 00 [VGA controller])
> > > > > > >         Subsystem: NVIDIA Corporation G86 [Quadro NVS 290]
> > > > > > >         Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
> > > > > > >         Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> > > > > > >         Latency: 0, Cache Line Size: 64 bytes
> > > > > > >         Interrupt: pin A routed to IRQ 28
> > > > > > >         Region 0: Memory at fc000000 (32-bit, non-prefetchable) [size=16M]
> > > > > > >         Region 1: Memory at d0000000 (64-bit, prefetchable) [size=256M]
> > > > > > >         Region 3: Memory at fa000000 (64-bit, non-prefetchable) [size=32M]
> > > > > > >         Region 5: I/O ports at dc80 [size=128]
> > > > > > >         Expansion ROM at 000c0000 [disabled] [size=128K]
> > > > > > >         Capabilities: [60] Power Management version 2
> > > > > > >                 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
> > > > > > >                 Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
> > > > > > >         Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
> > > > > > >                 Address: 00000000fee01004  Data: 4023
> > > > > > >         Capabilities: [78] Express (v1) Endpoint, MSI 00
> > > > > > >                 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 <4us
> > > > > > >                         ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 25.000W
> > > > > > >                 DevCtl: CorrErr- NonFatalErr+ FatalErr+ UnsupReq-
> > > > > > >                         RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
> > > > > > >                         MaxPayload 128 bytes, MaxReadReq 512 bytes
> > > > > > >                 DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
> > > > > > >                 LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <512ns, L1 <4us
> > > > > > >                         ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
> > > > > > >                 LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
> > > > > > >                         ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> > > > > > >                 LnkSta: Speed 2.5GT/s (ok), Width x16 (ok)
> > > > > > >                         TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
> > > > > > >         Capabilities: [100 v1] Virtual Channel
> > > > > > >                 Caps:   LPEVC=0 RefClk=100ns PATEntryBits=1
> > > > > > >                 Arb:    Fixed- WRR32- WRR64- WRR128-
> > > > > > >                 Ctrl:   ArbSelect=Fixed
> > > > > > >                 Status: InProgress-
> > > > > > >                 VC0:    Caps:   PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
> > > > > > >                         Arb:    Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
> > > > > > >                         Ctrl:   Enable+ ID=0 ArbSelect=Fixed TC/VC=01
> > > > > > >                         Status: NegoPending- InProgress-
> > > > > > >         Capabilities: [128 v1] Power Budgeting <?>
> > > > > > >         Capabilities: [600 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
> > > > > > >         Kernel driver in use: nouveau
> > > > > > >
> > > > > > > The last time this happened, this is what got logged:
> > > > > > >
> > > > > > > nouveau 0000:01:00.0: disp: ERROR 5 [INVALID_STATE] 06 [] chid 1 mthd 0080 data 00000001
> > > > > > > nouveau 0000:01:00.0: disp: Base 1:
> > > > > > > nouveau 0000:01:00.0: disp:        0084: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0088: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        008c: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0090: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0094: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00a0: 00000060 -> 00000070
> > > > > > > nouveau 0000:01:00.0: disp:        00a4: 00000000 -> f0000000
> > > > > > > nouveau 0000:01:00.0: disp:        00c0: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00c4: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00c8: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00cc: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00e0: 40000000
> > > > > > > nouveau 0000:01:00.0: disp:        00e4: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00e8: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00ec: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00fc: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0100: fffe0000
> > > > > > > nouveau 0000:01:00.0: disp:        0104: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0110: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0114: 00000000
> > > > > > > nouveau 0000:01:00.0: disp: Base 1 - Image 0:
> > > > > > > nouveau 0000:01:00.0: disp:        0800: 00009500
> > > > > > > nouveau 0000:01:00.0: disp:        0804: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0808: 04b00780
> > > > > > > nouveau 0000:01:00.0: disp:        080c: 00007804
> > > > > > > nouveau 0000:01:00.0: disp:        0810: 0000cf00
> > > > > > > nouveau 0000:01:00.0: disp: Base 1 - Image 1:
> > > > > > > nouveau 0000:01:00.0: disp:        0c00: 00009500
> > > > > > > nouveau 0000:01:00.0: disp:        0c04: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0c08: 04b00780
> > > > > > > nouveau 0000:01:00.0: disp:        0c0c: 00007804
> > > > > > > nouveau 0000:01:00.0: disp:        0c10: 0000cf00
> > > > > > > nouveau 0000:01:00.0: disp: ERROR 5 [INVALID_STATE] 06 [] chid 1 mthd 0080 data 00000001
> > > > > > > nouveau 0000:01:00.0: disp: Base 1:
> > > > > > > nouveau 0000:01:00.0: disp:        0084: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0088: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        008c: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0090: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0094: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00a0: 00000060 -> 00000070
> > > > > > > nouveau 0000:01:00.0: disp:        00a4: 00000000 -> f0000000
> > > > > > > nouveau 0000:01:00.0: disp:        00c0: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00c4: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00c8: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00cc: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00e0: 40000000
> > > > > > > nouveau 0000:01:00.0: disp:        00e4: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00e8: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00ec: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        00fc: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0100: fffe0000
> > > > > > > nouveau 0000:01:00.0: disp:        0104: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0110: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0114: 00000000
> > > > > > > nouveau 0000:01:00.0: disp: Base 1 - Image 0:
> > > > > > > nouveau 0000:01:00.0: disp:        0800: 00009500
> > > > > > > nouveau 0000:01:00.0: disp:        0804: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0808: 04b00780
> > > > > > > nouveau 0000:01:00.0: disp:        080c: 00007804
> > > > > > > nouveau 0000:01:00.0: disp:        0810: 0000cf00
> > > > > > > nouveau 0000:01:00.0: disp: Base 1 - Image 1:
> > > > > > > nouveau 0000:01:00.0: disp:        0c00: 00009500
> > > > > > > nouveau 0000:01:00.0: disp:        0c04: 00000000
> > > > > > > nouveau 0000:01:00.0: disp:        0c08: 04b00780
> > > > > > > nouveau 0000:01:00.0: disp:        0c0c: 00007804
> > > > > > > nouveau 0000:01:00.0: disp:        0c10: 0000cf00
> > > > > > > nouveau 0000:01:00.0: DRM: core notifier timeout
> > > > > > > nouveau 0000:01:00.0: DRM: base-0: timeout
> > > > > > >
> > > > > > > I've got logs of all of this, if they help I can collect them.  The
> > > > > > > timeout message are consistent the error messages a little less so.
> > > > > > >
> > > > > > > If there's more debugging I can do when this happens, I'd love to know
> > > > > > > what it is.
> > > > > > >
> > > > > > > kernel config: http://audible.transient.net/~jamie/k/nouveau.config-5.10.0
> > > > > > > dmesg at boot: http://audible.transient.net/~jamie/k/nouveau.dmesg
> > > > > > >
> > > > > > > --
> > > > > > > Jamie Heilman                     http://audible.transient.net/~jamie/
> > > > > > > _______________________________________________
> > > > > > > Nouveau mailing list
> > > > > > > Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
> > > > > > > https://lists.freedesktop.org/mailman/listinfo/nouveau
> > > > > > >
> > > > > >
> > > > >
> > > > > --
> > > > > Jamie Heilman                     http://audible.transient.net/~jamie/
> > > >
> > > > --
> > > > Jamie Heilman                     http://audible.transient.net/~jamie/
> > >
> > > --
> > > Jamie Heilman                     http://audible.transient.net/~jamie/
> > >
> >
>
> --
> Jamie Heilman                     http://audible.transient.net/~jamie/
>

  parent reply	other threads:[~2021-01-21  9:11 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-25  7:34 nouveau regression post v5.8, still present in v5.10 Jamie Heilman
     [not found] ` <X+WV8OiQzTIfLdgW-3MLwneIWSru5Joj7rniG6R4hnT+Y9+D1@public.gmane.org>
2021-01-04 13:21   ` Karol Herbst
2021-01-04 17:23     ` [Nouveau] " Jamie Heilman
2021-01-04 17:43       ` Jamie Heilman
2021-01-06  3:18         ` Jamie Heilman
     [not found]           ` <X/UsBWwFR+V0hIOS-3MLwneIWSru5Joj7rniG6R4hnT+Y9+D1@public.gmane.org>
2021-01-06  9:40             ` Karol Herbst
2021-01-21  2:33               ` [Nouveau] " Jamie Heilman
     [not found]                 ` <YAjn9jR+d2zRfNjb-3MLwneIWSru5Joj7rniG6R4hnT+Y9+D1@public.gmane.org>
2021-01-21  9:11                   ` Karol Herbst [this message]
2021-01-22 22:05                     ` Jamie Heilman
2021-01-23  0:44                       ` Jamie Heilman
2021-02-02 20:26                         ` Jamie Heilman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CACO55tu+5vv3dU3+O=DGDo9EdcyqFtpF4WR-VNj5eo89WMSfpw@mail.gmail.com' \
    --to=kherbst-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=bskeggs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).