From: Lucas Stach <l.stach@pengutronix.de>
To: Russell King - ARM Linux <linux@armlinux.org.uk>
Cc: kernel@pengutronix.de, etnaviv@lists.freedesktop.org,
dri-devel@lists.freedesktop.org, patchwork-lst@pengutronix.de
Subject: Re: [BUG 4.17] etnaviv-gpu f1840000.gpu: recover hung GPU!
Date: Tue, 19 Jun 2018 12:09:16 +0200 [thread overview]
Message-ID: <1529402956.7211.14.camel@pengutronix.de> (raw)
In-Reply-To: <20180619094303.GE17671@n2100.armlinux.org.uk>
Hi Russell,
Am Dienstag, den 19.06.2018, 10:43 +0100 schrieb Russell King - ARM Linux:
> It looks like a bug has crept in to etnaviv between 4.16 and 4.17,
> which causes etnaviv to misbehave with the GC600 GPU on Dove. I
> don't think it's a GPU issue, I think it's a DRM issue.
>
> I get multiple:
>
> [ 596.711482] etnaviv-gpu f1840000.gpu: recover hung GPU!
> [ 597.732852] etnaviv-gpu f1840000.gpu: GPU failed to reset: FE not idle, 3D not idle, 2D not idle
>
> while Xorg is starting up. Ignore the "failed to reset", that
> just seems to be a property of the GC600, and of course is a
> subsequent issue after the primary problem.
>
> Looking at the devcoredump:
>
> 00000004 = 000000fe Idle: FE- DE+ PE+ SH+ PA+ SE+ RA+ TX+ VG- IM- FP- TS-
>
> So, all units on the GC600 were idle except for the front end.
>
> 00000660 = 00000812 Cmd: [wait DMA: idle Fetch: valid] Req idle Cal idle
> 00000664 = 102d06d8 Command DMA address
> 00000668 = 380000c8 FE fetched word 0
> 0000066c = 0000001f FE fetched word 1
>
> The front end was basically idle at this point, at a WAIT 200 command.
> Digging through the ring:
>
> 00688: 08010e01 00000040 LDST 0x3804=0x00000040
> 00690: 40000002 102d06a0 LINK 0x102d06a0
> 00698: 40000002 102d0690 LINK 0x102d0690
> 006a0: 08010e04 0000001f LDST 0x3810=0x0000001f
> 006a8: 40000025 102d3000 LINK 0x102d3000
> 006b0: 08010e03 00000008 LDST 0x380c=0x00000008 Flush PE2D
> 006b8: 08010e02 00000701 LDST 0x3808=0x00000701 SEM FE -> PE
> 006c0: 48000000 00000701 STALL FE -> PE
> 006c8: 08010e01 00000041 LDST 0x3804=0x00000041
> 006d0: 380000c8(0000001f) WAIT 200
> > 006d8: 40000002 102d06d0 LINK 0x102d06d0 <===========
>
> We've basically come to the end of the currently issued command stream
> and hit the wait-link loop. Everything else in the devcoredump looks
> normal.
>
> So, I think etnaviv DRM has missed an event signalled from the GPU.
I don't see what would make us miss a event suddenly.
> This worked fine in 4.16, so seems to be a regression.
The only thing that comes to mind is that with the DRM scheduler we
enforce a job timeout of 500ms, without the previous logic to allow a
job to run indefinitely as long as it makes progress, as this is a
serious QoS issue.
This might bite you at this point, if Xorg manages to submit a really
big job. The coredump might be delayed enough that it captures the
state of the GPU when it has managed to finish the job after the job
timeout was hit.
Can you try if changing the timeout value to something large in
drm_sched_init() in etnaviv_sched.c makes any difference?
Regards,
Lucas
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2018-06-19 10:09 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-19 9:43 [BUG 4.17] etnaviv-gpu f1840000.gpu: recover hung GPU! Russell King - ARM Linux
2018-06-19 10:09 ` Lucas Stach [this message]
2018-06-19 11:00 ` Russell King - ARM Linux
2018-06-19 11:11 ` Lucas Stach
2018-06-19 11:42 ` Russell King - ARM Linux
2018-06-19 12:28 ` Lucas Stach
2018-06-19 15:56 ` Russell King - ARM Linux
2018-06-26 8:17 ` Russell King - ARM Linux
2018-06-26 15:36 ` Russell King - ARM Linux
2018-06-26 15:48 ` Lucas Stach
2018-06-27 14:38 ` Lucas Stach
2018-07-11 20:13 ` Russell King - ARM Linux
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=1529402956.7211.14.camel@pengutronix.de \
--to=l.stach@pengutronix.de \
--cc=dri-devel@lists.freedesktop.org \
--cc=etnaviv@lists.freedesktop.org \
--cc=kernel@pengutronix.de \
--cc=linux@armlinux.org.uk \
--cc=patchwork-lst@pengutronix.de \
/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