From: Alex Deucher <alexander.deucher@amd.com>
To: <amd-gfx@lists.freedesktop.org>
Cc: Alex Deucher <alexander.deucher@amd.com>
Subject: [PATCH 00/10] Improvements for IB handling V3
Date: Fri, 16 Jan 2026 11:20:17 -0500 [thread overview]
Message-ID: <20260116162027.21550-1-alexander.deucher@amd.com> (raw)
This set contains a number of bug fixes and cleanups for
IB handling that I worked on over the holidays. The first
the three patches from V1 are already reviewed, so I didn't
include them in V2 or V3.
Patches 1-2:
Standalone fix and cleanup
Patches 3-5:
Removes the direct submit path for IBs and requires
that all IB submissions use a job structure. This
greatly simplifies the IB submission code. V2 uses
GFP_ATOMIC when in reset. V3 sqaushes all of the
IP changes into one patch. Not sure there is much
value breaking this out per IP.
Patches 6-9:
Improvements for adapter resets. Stop calling
drm_sched_stop/start(). Just stop/start the workqueues.
I can see why we need this at all. Per queue reset
doesn't use this. Stop calling drm_sched_increase_karma()
this seems to result in the jobs always getting marked
as innocent and prevents the subsequent fix for marking
the job as timedout from working. Per queue resets don't
call this and they work correctly. Properly set the
error on the the timedout fence so user space see it
as guilty. These changes also resulted in a small clean
up the the VCN reset helper.
Patch 10:
Rework the backup and reemit code for per ring reset
so that we can safely reemit repeatedly. This removes
the current single reemit limit currently in place.
This drops the new proposed reemit framework from V1
and V2 and sticks with saving and restoring the ring
content.
Git tree available as well:
https://gitlab.freedesktop.org/agd5f/linux/-/commits/ib_improvements2?ref_type=heads
Alex Deucher (10):
drm/amdgpu: fix type for wptr in ring backup
drm/amdgpu: rename amdgpu_fence_driver_guilty_force_completion()
drm/amdgpu/job: use GFP_ATOMIC while in gpu reset
drm/amdgpu: switch all IPs to using job for IBs
drm/amdgpu: require a job to schedule an IB
drm/amdgpu: don't call drm_sched_stop/start() in asic reset
drm/amdgpu: drop drm_sched_increase_karma()
drm/amdgpu: plumb timedout fence through to force completion
drm/amdgpu: simplify VCN reset helper
drm/amdgpu: rework ring reset backup and reemit
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 13 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 124 +++++++++--------
drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 117 +++++++---------
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 14 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 37 +-----
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 26 ++--
drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | 6 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c | 4 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 52 +++-----
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c | 37 +++---
drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 31 +++--
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 29 ++--
drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 29 ++--
drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c | 29 ++--
drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c | 29 ++--
drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 24 ++--
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 25 ++--
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 139 ++++++++++----------
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 138 +++++++++----------
drivers/gpu/drm/amd/amdgpu/gfx_v9_4_2.c | 26 ++--
drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 29 ++--
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 38 +++---
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 38 +++---
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 38 +++---
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c | 38 +++---
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c | 37 +++---
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c | 36 ++---
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c | 36 ++---
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c | 36 ++---
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c | 36 ++---
drivers/gpu/drm/amd/amdgpu/si_dma.c | 29 ++--
36 files changed, 668 insertions(+), 662 deletions(-)
--
2.52.0
next reply other threads:[~2026-01-16 16:20 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-16 16:20 Alex Deucher [this message]
2026-01-16 16:20 ` [PATCH 01/10] drm/amdgpu: fix type for wptr in ring backup Alex Deucher
2026-01-19 12:18 ` Christian König
2026-01-16 16:20 ` [PATCH 02/10] drm/amdgpu: rename amdgpu_fence_driver_guilty_force_completion() Alex Deucher
2026-01-19 12:22 ` Christian König
2026-01-16 16:20 ` [PATCH 03/10] drm/amdgpu/job: use GFP_ATOMIC while in gpu reset Alex Deucher
2026-01-19 12:27 ` Christian König
2026-01-16 16:20 ` [PATCH 04/10] drm/amdgpu: switch all IPs to using job for IBs Alex Deucher
2026-01-19 12:31 ` Christian König
2026-01-16 16:20 ` [PATCH 05/10] drm/amdgpu: require a job to schedule an IB Alex Deucher
2026-01-19 12:41 ` Christian König
2026-01-16 16:20 ` [PATCH 06/10] drm/amdgpu: don't call drm_sched_stop/start() in asic reset Alex Deucher
2026-01-19 12:42 ` Christian König
2026-01-16 16:20 ` [PATCH 07/10] drm/amdgpu: drop drm_sched_increase_karma() Alex Deucher
2026-01-19 12:44 ` Christian König
2026-01-16 16:20 ` [PATCH 08/10] drm/amdgpu: plumb timedout fence through to force completion Alex Deucher
2026-01-16 16:20 ` [PATCH 09/10] drm/amdgpu: simplify VCN reset helper Alex Deucher
2026-01-16 16:20 ` [PATCH 10/10] drm/amdgpu: rework ring reset backup and reemit Alex Deucher
2026-01-19 13:19 ` Christian König
2026-01-20 2:41 ` Timur Kristóf
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=20260116162027.21550-1-alexander.deucher@amd.com \
--to=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.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