From: Matthew Brost <matthew.brost@intel.com>
To: intel-xe@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Subject: [PATCH v6 0/8] Fix DRM scheduler layering violations in Xe
Date: Wed, 26 Nov 2025 13:47:40 -0800 [thread overview]
Message-ID: <20251126214748.650107-1-matthew.brost@intel.com> (raw)
At XDC, we discussed that drivers should avoid accessing DRM scheduler
internals, misusing DRM scheduler locks, and adopt a well-defined
pending job list iterator. This series proposes the necessary changes to
the DRM scheduler to bring Xe in line with that agreement and updates Xe
to use the new DRM scheduler API.
While here, cleanup LR queue handling and simplify GuC state machine in
Xe too.
v2:
- Fix checkpatch / naming issues
v3:
- Only allow pending job list iterator to be called on stopped schedulers
- Cleanup LR queue handling / fix a few misselanous Xe scheduler issues
v4:
- Address Niranjana's feedback
- Add patch to avoid toggling scheduler state in the TDR
v5:
- Rebase
- Fixup LRC timeout check (Umesh)
v6:
- Fix VF bugs (Testing)
Matt
Matthew Brost (8):
drm/sched: Add several job helpers to avoid drivers touching scheduler
state
drm/sched: Add pending job list iterator
drm/xe: Add dedicated message lock
drm/xe: Stop abusing DRM scheduler internals
drm/xe: Only toggle scheduling in TDR if GuC is running
drm/xe: Do not deregister queues in TDR
drm/xe: Remove special casing for LR queues in submission
drm/xe: Avoid toggling schedule state to check LRC timestamp in TDR
drivers/gpu/drm/scheduler/sched_main.c | 4 +-
drivers/gpu/drm/xe/xe_gpu_scheduler.c | 9 +-
drivers/gpu/drm/xe/xe_gpu_scheduler.h | 37 +-
drivers/gpu/drm/xe/xe_gpu_scheduler_types.h | 2 +
drivers/gpu/drm/xe/xe_guc_exec_queue_types.h | 2 -
drivers/gpu/drm/xe/xe_guc_submit.c | 362 +++----------------
drivers/gpu/drm/xe/xe_guc_submit_types.h | 11 -
drivers/gpu/drm/xe/xe_hw_fence.c | 16 -
drivers/gpu/drm/xe/xe_hw_fence.h | 2 -
drivers/gpu/drm/xe/xe_lrc.c | 42 ++-
drivers/gpu/drm/xe/xe_lrc.h | 3 +-
drivers/gpu/drm/xe/xe_ring_ops.c | 6 +-
drivers/gpu/drm/xe/xe_sched_job.c | 1 +
drivers/gpu/drm/xe/xe_sched_job_types.h | 2 +
drivers/gpu/drm/xe/xe_trace.h | 5 -
include/drm/gpu_scheduler.h | 82 +++++
16 files changed, 192 insertions(+), 394 deletions(-)
--
2.34.1
next reply other threads:[~2025-11-26 21:48 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-26 21:47 Matthew Brost [this message]
2025-11-26 21:47 ` [PATCH v6 1/8] drm/sched: Add several job helpers to avoid drivers touching scheduler state Matthew Brost
2025-11-26 21:47 ` [PATCH v6 2/8] drm/sched: Add pending job list iterator Matthew Brost
2025-11-26 21:47 ` [PATCH v6 3/8] drm/xe: Add dedicated message lock Matthew Brost
2025-11-26 21:47 ` [PATCH v6 4/8] drm/xe: Stop abusing DRM scheduler internals Matthew Brost
2025-11-26 21:47 ` [PATCH v6 5/8] drm/xe: Only toggle scheduling in TDR if GuC is running Matthew Brost
2025-11-26 21:47 ` [PATCH v6 6/8] drm/xe: Do not deregister queues in TDR Matthew Brost
2025-11-26 21:47 ` [PATCH v6 7/8] drm/xe: Remove special casing for LR queues in submission Matthew Brost
2025-11-26 21:47 ` [PATCH v6 8/8] drm/xe: Avoid toggling schedule state to check LRC timestamp in TDR Matthew Brost
2025-11-26 22:12 ` Umesh Nerlige Ramappa
2025-11-29 16:53 ` Dan Carpenter
2025-11-26 21:54 ` ✗ CI.checkpatch: warning for Fix DRM scheduler layering violations in Xe (rev6) Patchwork
2025-11-26 21:55 ` ✓ CI.KUnit: success " Patchwork
2025-11-26 22:59 ` ✓ Xe.CI.BAT: " Patchwork
2025-11-26 23:43 ` ✗ Xe.CI.Full: failure " Patchwork
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=20251126214748.650107-1-matthew.brost@intel.com \
--to=matthew.brost@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-xe@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