From: "Timur Kristóf" <timur.kristof@gmail.com>
To: "Tvrtko Ursulin" <tursulin@ursulin.net>,
"Alex Deucher" <alexdeucher@gmail.com>,
"Christian König" <christian.koenig@amd.com>
Cc: amd-gfx@lists.freedesktop.org,
Alex Deucher <alexander.deucher@amd.com>,
pierre-eric.pelloux-prayer@amd.com,
Natalie Vock <natalie.vock@gmx.de>
Subject: Re: [PATCH 3/9] drm/amdgpu/gfx7: Return error code when compute ring tests fail
Date: Wed, 15 Jul 2026 12:50:24 +0200 [thread overview]
Message-ID: <6929993.MDQidcC6GM@timur-max> (raw)
In-Reply-To: <dddb24b1-2ee5-4dc7-ac40-b66f08fec51c@amd.com>
On 2026. július 15., szerda 11:50:30 közép-európai nyári idő Christian König
wrote:
> On 7/15/26 10:02, Timur Kristóf wrote:
> > On 2026. július 14., kedd 22:41:33 közép-európai nyári idő Alex Deucher
wrote:
> >> On Tue, Jul 14, 2026 at 4:14 PM Tvrtko Ursulin <tursulin@ursulin.net>
wrote:
> >>> On 13/07/2026 13:58, Timur Kristóf wrote:
> ...
>
> >>> I actually might like this because maybe it gets us closer to removing
> >>> the ring->sched.ready hack but what I am just not sure if the idea was
> >>> to allow driver to function with some non-functional rings after resume.
> >>> Under the premise that if they initialized during init, then after
> >>> resume they must too, or if they don't, it is a transient glitch. I
> >>> don't know.. I am being imaginative here thinking about silly driver
> >>> workarounds for weird hardware glitches. It is much more likely this was
> >>> just an oversight and it is completely fine to to error out.
> >>>
> >>> I have to defer to Alex and Christian on this one.
> >>
> >> The reason for not checking the errors was because compute queue
> >> failure was not seen as fatal. There are a lot of compute queues
> >> (relative to other engines), so if something happened, it seemed
> >> better to just continue in a degraded mode with fewer compute queues
> >> than to fail to resume in general.
> >
> > We had a conversation about a similar topic (it was about UVD), where Alex
> > said that in general we should prefer not to handle degraded functionality
> > in amdgpu. I think the same principle should apply here.
>
> Yeah, well that's a rather problematic topic.
>
> Ignore such errors leads to never fix them. But on the other hand if we
> handle that as fatal and UVD doesn't comes up after resume you end up with
> a black screen while otherwise UVD is just not working.
Yeah, that was exactly my point when we talked about it.
However, Alex convinced me that we shouldn't bother supporting these degraded
use cases. After spending more time working on amdgpu, I think it would raise
more problems than it solves if we allowed that.
> > 1. My main problem with handling degraded functionality here is that I
> > have
> > never seen any issue where just some compute queues fail to initialize
> > after boot or after suspend/resume. That means we can't meaningfully test
> > that scenario, so we can't trust any code we write to handle that either.
> We had a bunch of cases where some engine didn't worked in the past (UVD,
> VCE, Compute) either on initial load or after suspend/resume.
>
> Especially there was a Compute issues that was really annoying because it
> only caused trouble after Mesa switched to using compute engines for
> VA-API. Before that we didn't even know that Compute rings sometimes don't
> properly come up again after a resume.
Fortunately now we have ring tests and ring IB tests which we execute on
initialization to make sure the rings work.
> > 2. It would be very tedious to keep track of which queues didn't work in
> > the first place vs. which are those that don't work because of a bug in
> > the soft reset code. I consider the soft reset as failed if not all
> > queues work correctly.
> >
> > Considering the above, I vote that we should just expect all queues to
> > work
> > correctly at initialization and after a recovery. What do you guys think?
>
> Well it's basically choosing what is the lesser evil.
Agreed.
next prev parent reply other threads:[~2026-07-15 10:50 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-13 12:58 [PATCH 0/9] drm/amdgpu/gfx7: Use GFX IP block soft reset on GFX7 Timur Kristóf
2026-07-13 12:58 ` [PATCH 1/9] drm/amdgpu/gfx7: Make amdgpu_gfx_mqd_sw_init() usable " Timur Kristóf
2026-07-14 14:59 ` Tvrtko Ursulin
2026-07-14 15:05 ` Alex Deucher
2026-07-14 15:19 ` Tvrtko Ursulin
2026-07-14 15:39 ` Timur Kristóf
2026-07-14 18:23 ` Tvrtko Ursulin
2026-07-13 12:58 ` [PATCH 2/9] drm/amdgpu/gfx7: Refactor MQD initialization and finalization Timur Kristóf
2026-07-14 18:47 ` Tvrtko Ursulin
2026-07-15 8:08 ` Timur Kristóf
2026-07-15 8:26 ` Tvrtko Ursulin
2026-07-13 12:58 ` [PATCH 3/9] drm/amdgpu/gfx7: Return error code when compute ring tests fail Timur Kristóf
2026-07-14 18:55 ` Tvrtko Ursulin
2026-07-14 20:41 ` Alex Deucher
2026-07-15 8:02 ` Timur Kristóf
2026-07-15 9:50 ` Christian König
2026-07-15 10:50 ` Timur Kristóf [this message]
2026-07-13 12:58 ` [PATCH 4/9] drm/amdgpu/gfx7: Return error code when failing to start GFX ring Timur Kristóf
2026-07-14 18:58 ` Tvrtko Ursulin
2026-07-13 12:58 ` [PATCH 5/9] drm/amdgpu/gfx7: Fixup emitting SWITCH_BUFFER packets Timur Kristóf
2026-07-15 8:56 ` Tvrtko Ursulin
2026-07-15 10:36 ` Timur Kristóf
2026-07-15 11:20 ` Tvrtko Ursulin
2026-07-15 11:50 ` Christian König
2026-07-13 12:58 ` [PATCH 6/9] drm/amdgpu/gfx7: Clean up gfx ring during reset Timur Kristóf
2026-07-15 9:18 ` Tvrtko Ursulin
2026-07-15 10:16 ` Timur Kristóf
2026-07-15 11:07 ` Tvrtko Ursulin
2026-07-13 12:58 ` [PATCH 7/9] drm/amdgpu/gfx7: Use COND_EXEC Timur Kristóf
2026-07-15 9:38 ` Tvrtko Ursulin
2026-07-15 10:45 ` Timur Kristóf
2026-07-13 12:58 ` [PATCH 8/9] drm/amdgpu/gfx7: Fixup IP block soft reset Timur Kristóf
2026-07-15 9:53 ` Tvrtko Ursulin
2026-07-13 12:58 ` [PATCH 9/9] drm/amdgpu/gfx7: Enable IP block soft reset as a GPU recovery method Timur Kristóf
2026-07-15 9:55 ` Tvrtko Ursulin
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=6929993.MDQidcC6GM@timur-max \
--to=timur.kristof@gmail.com \
--cc=alexander.deucher@amd.com \
--cc=alexdeucher@gmail.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=christian.koenig@amd.com \
--cc=natalie.vock@gmx.de \
--cc=pierre-eric.pelloux-prayer@amd.com \
--cc=tursulin@ursulin.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.