From: Daniel Charles <daniel.charles@intel.com>
To: intel-xe@lists.freedesktop.org
Cc: alan.previn.teres.alexis@intel.com,
Daniel Charles <daniel.charles@intel.com>
Subject: [PATCH 0/3] drm/xe: Add mode-3 fault inspection with debugfs release
Date: Mon, 2 Nov 2026 13:02:39 -0800 [thread overview]
Message-ID: <20261102210242.635207-1-daniel.charles@intel.com> (raw)
This series adds wedged_mode=3 for best-effort hardware inspection after
a fault, without immediately proceeding into permanent device wedging.
The inspection worker stops GT submission and blocks new DRM ioctls
while waiting for a response through the wedged_pause_resume debugfs
interface:
SKIP (0xdeadf001): skip permanent wedging and reopen the ioctl gate;
GTs remain stopped and pending TLB fences paused.
CONTINUE (0xdeadbbbb): complete permanent wedging and notify userspace.
Neither response restores normal execution. Existing wedge modes retain
their intended behavior.
The series is organized as follows:
1. Add the mode, inspection worker, and debugfs release interface.
This establishes the inspection and reply flow.
2. Preserve pending TLB invalidations during inspection by pausing
timeout and completion processing. CONTINUE resets them, while SKIP
leaves them pending; document the resulting cleanup constraints.
3. Request inspection from page-fault failures, GuC memory CAT errors,
TLB invalidation timeouts, and MMIO-enabled PCI RAS reset requests.
PCI recovery waits for inspection before reset preparation, and
neither reply requests a reset from this device.
Inspection is not an atomic hardware or application-memory snapshot:
in-flight work and software cleanup can still progress. There is no
automatic inspection timeout, and preserved fences can obstruct teardown.
PCI-core-forced resets, reset requests from other devices, and system
suspend remain outside the inspection guarantee. A power cycle may be
necessary. Configure wedged_mode=3 before starting the workload.
Validation:
- invalid-va testing reproduced the expected page fault and exercised
both SKIP and CONTINUE, with dmesg and ftrace confirming inspection
and permanent-wedge behavior.
- Outstanding-TLB-fence preservation, PCI recovery coordination, and
runtime lockdep coverage still require targeted testing.
Alan Previn (1):
drm/xe/wedge: add fault inspection with debugfs release
Daniel Charles (2):
drm/xe/wedge: preserve pending TLB invalidations during inspection
drm/xe/wedge: request inspection for additional fault paths
drivers/gpu/drm/xe/xe_debugfs.c | 30 ++-
drivers/gpu/drm/xe/xe_device.c | 12 +-
drivers/gpu/drm/xe/xe_gt.c | 17 +-
drivers/gpu/drm/xe/xe_gt.h | 1 +
drivers/gpu/drm/xe/xe_guc.c | 2 +-
drivers/gpu/drm/xe/xe_guc_ads.c | 2 +-
drivers/gpu/drm/xe/xe_guc_capture.c | 2 +-
drivers/gpu/drm/xe/xe_guc_submit.c | 24 +-
drivers/gpu/drm/xe/xe_pagefault.c | 3 +
drivers/gpu/drm/xe/xe_pci.c | 16 +-
drivers/gpu/drm/xe/xe_pci_error.c | 11 +
drivers/gpu/drm/xe/xe_tlb_inval.c | 61 +++++
drivers/gpu/drm/xe/xe_tlb_inval.h | 1 +
drivers/gpu/drm/xe/xe_tlb_inval_types.h | 4 +
drivers/gpu/drm/xe/xe_uc.c | 2 +-
drivers/gpu/drm/xe/xe_wedge.c | 292 ++++++++++++++++++++++--
drivers/gpu/drm/xe/xe_wedge.h | 4 +
drivers/gpu/drm/xe/xe_wedge_types.h | 48 ++++
18 files changed, 500 insertions(+), 32 deletions(-)
base-commit: d8a353e238652bec29fd452babdaae0044d30b9b
--
2.43.0
next reply other threads:[~2026-11-02 21:06 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-02 21:02 Daniel Charles [this message]
2026-11-02 21:02 ` [PATCH 1/3] drm/xe/wedge: add fault inspection with debugfs release Daniel Charles
2026-11-02 21:27 ` sashiko-bot
2026-11-05 21:51 ` Daniel Charles
2026-11-02 21:02 ` [PATCH 2/3] drm/xe/wedge: preserve pending TLB invalidations during inspection Daniel Charles
2026-11-02 21:34 ` sashiko-bot
2026-11-05 21:51 ` Daniel Charles
2026-11-02 21:02 ` [PATCH 3/3] drm/xe/wedge: request inspection for additional fault paths Daniel Charles
2026-11-02 21:27 ` sashiko-bot
2026-11-05 21:58 ` Daniel Charles
2026-11-02 21:31 ` ✗ CI.checkpatch: warning for drm/xe: Add mode-3 fault inspection with debugfs release Patchwork
2026-11-02 21:33 ` ✓ CI.KUnit: success " Patchwork
2026-11-02 22:08 ` ✓ Xe.CI.BAT: " Patchwork
2026-11-03 0:08 ` ✓ Xe.CI.FULL: " 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=20261102210242.635207-1-daniel.charles@intel.com \
--to=daniel.charles@intel.com \
--cc=alan.previn.teres.alexis@intel.com \
--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 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.