Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] drm/xe: Add mode-3 fault inspection with debugfs release
@ 2026-11-02 21:02 Daniel Charles
  2026-11-02 21:02 ` [PATCH 1/3] drm/xe/wedge: add " Daniel Charles
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Daniel Charles @ 2026-11-02 21:02 UTC (permalink / raw)
  To: intel-xe; +Cc: alan.previn.teres.alexis, Daniel Charles

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2026-11-03  0:08 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-02 21:02 [PATCH 0/3] drm/xe: Add mode-3 fault inspection with debugfs release Daniel Charles
2026-11-02 21:02 ` [PATCH 1/3] drm/xe/wedge: add " Daniel Charles
2026-11-02 21:27   ` sashiko-bot
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-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-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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox