Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 00/19] Support EU online debug on pagefault
@ 2024-10-21  9:58 Gwan-gyeong Mun
  2024-10-21  9:58 ` [RFC 01/19] ptrace: export ptrace_may_access Gwan-gyeong Mun
                   ` (25 more replies)
  0 siblings, 26 replies; 28+ messages in thread
From: Gwan-gyeong Mun @ 2024-10-21  9:58 UTC (permalink / raw)
  To: intel-xe
  Cc: nirmoy.das, matthew.brost, stuart.summers, christoph.manszewski,
	mika.kuoppala, dominik.grzegorzek, andrzej.hajda,
	maciej.patelczyk

This RFC patch adds a KMD implementation to debug scenarios where
an EU thread causes a pagefault based on GPU Debug support [1].

Fixes code that uses force_wake_[get/put] to work on the latest xe-next,
as the previous version patch[1] does not use
"Fix xe_force_wake_get() failure handling" [2].

[1] https://patchwork.freedesktop.org/series/136572/#rev2
[2] https://patchwork.freedesktop.org/series/137982/

Andrzej Hajda (1):
  drm/xe/eudebug: implement userptr_vma access

Christoph Manszewski (3):
  drm/xe/eudebug: Add vm bind and vm bind ops
  drm/xe/eudebug: Dynamically toggle debugger functionality
  drm/xe/eudebug_test: Introduce xe_eudebug wa kunit test

Dominik Grzegorzek (8):
  drm/xe/eudebug: Introduce exec_queue events
  drm/xe/eudebug: hw enablement for eudebug
  drm/xe: Add EUDEBUG_ENABLE exec queue property
  drm/xe/eudebug: Introduce per device attention scan worker
  drm/xe/eudebug: Introduce EU control interface
  drm/xe: Debug metadata create/destroy ioctls
  drm/xe: Attach debug metadata to vma
  drm/xe/eudebug: Add debug metadata support for xe_eudebug

Gwan-gyeong Mun (1):
  drm/xe/eudebug: Support EU online debug on pagefault

Mika Kuoppala (6):
  ptrace: export ptrace_may_access
  drm/xe/eudebug: Introduce eudebug support
  drm/xe/eudebug: Introduce discovery for resources
  drm/xe/eudebug: Add UFENCE events with acks
  drm/xe/eudebug: vm open/pread/pwrite
  drm/xe/eudebug: Implement vm_bind_op discovery

 drivers/gpu/drm/xe/Kconfig                   |   10 +
 drivers/gpu/drm/xe/Makefile                  |    4 +
 drivers/gpu/drm/xe/regs/xe_engine_regs.h     |    7 +
 drivers/gpu/drm/xe/regs/xe_gt_regs.h         |   43 +
 drivers/gpu/drm/xe/tests/xe_eudebug.c        |  175 +
 drivers/gpu/drm/xe/tests/xe_live_test_mod.c  |    5 +
 drivers/gpu/drm/xe/xe_debug_metadata.c       |  233 +
 drivers/gpu/drm/xe/xe_debug_metadata.h       |   98 +
 drivers/gpu/drm/xe/xe_debug_metadata_types.h |   28 +
 drivers/gpu/drm/xe/xe_device.c               |   26 +-
 drivers/gpu/drm/xe/xe_device.h               |   36 +
 drivers/gpu/drm/xe/xe_device_types.h         |   47 +
 drivers/gpu/drm/xe/xe_eudebug.c              | 4147 ++++++++++++++++++
 drivers/gpu/drm/xe/xe_eudebug.h              |  110 +
 drivers/gpu/drm/xe/xe_eudebug_types.h        |  394 ++
 drivers/gpu/drm/xe/xe_exec.c                 |    2 +-
 drivers/gpu/drm/xe/xe_exec_queue.c           |   56 +-
 drivers/gpu/drm/xe/xe_exec_queue.h           |    2 +
 drivers/gpu/drm/xe/xe_exec_queue_types.h     |    7 +
 drivers/gpu/drm/xe/xe_execlist.c             |    2 +-
 drivers/gpu/drm/xe/xe_force_wake.c           |    1 -
 drivers/gpu/drm/xe/xe_gt_debug.c             |  199 +
 drivers/gpu/drm/xe/xe_gt_debug.h             |   40 +
 drivers/gpu/drm/xe/xe_gt_pagefault.c         |  281 +-
 drivers/gpu/drm/xe/xe_hw_engine.c            |    1 +
 drivers/gpu/drm/xe/xe_lrc.c                  |   16 +-
 drivers/gpu/drm/xe/xe_lrc.h                  |    4 +-
 drivers/gpu/drm/xe/xe_reg_sr.c               |   21 +-
 drivers/gpu/drm/xe/xe_reg_sr.h               |    4 +-
 drivers/gpu/drm/xe/xe_rtp.c                  |    2 +-
 drivers/gpu/drm/xe/xe_sync.c                 |   43 +-
 drivers/gpu/drm/xe/xe_sync.h                 |    8 +-
 drivers/gpu/drm/xe/xe_sync_types.h           |   28 +-
 drivers/gpu/drm/xe/xe_vm.c                   |  194 +-
 drivers/gpu/drm/xe/xe_vm.h                   |    5 +
 drivers/gpu/drm/xe/xe_vm_types.h             |   40 +
 drivers/gpu/drm/xe/xe_wa_oob.rules           |    2 +
 include/uapi/drm/xe_drm.h                    |   96 +-
 include/uapi/drm/xe_drm_eudebug.h            |  237 +
 kernel/ptrace.c                              |    1 +
 40 files changed, 6597 insertions(+), 58 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/tests/xe_eudebug.c
 create mode 100644 drivers/gpu/drm/xe/xe_debug_metadata.c
 create mode 100644 drivers/gpu/drm/xe/xe_debug_metadata.h
 create mode 100644 drivers/gpu/drm/xe/xe_debug_metadata_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_eudebug.c
 create mode 100644 drivers/gpu/drm/xe/xe_eudebug.h
 create mode 100644 drivers/gpu/drm/xe/xe_eudebug_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_debug.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_debug.h
 create mode 100644 include/uapi/drm/xe_drm_eudebug.h

-- 
2.46.1


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

end of thread, other threads:[~2024-10-24 14:24 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-21  9:58 [RFC 00/19] Support EU online debug on pagefault Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 01/19] ptrace: export ptrace_may_access Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 02/19] drm/xe/eudebug: Introduce eudebug support Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 03/19] drm/xe/eudebug: Introduce discovery for resources Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 04/19] drm/xe/eudebug: Introduce exec_queue events Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 05/19] drm/xe/eudebug: hw enablement for eudebug Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 06/19] drm/xe: Add EUDEBUG_ENABLE exec queue property Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 07/19] drm/xe/eudebug: Introduce per device attention scan worker Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 08/19] drm/xe/eudebug: Introduce EU control interface Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 09/19] drm/xe/eudebug: Add vm bind and vm bind ops Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 10/19] drm/xe/eudebug: Add UFENCE events with acks Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 11/19] drm/xe/eudebug: vm open/pread/pwrite Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 12/19] drm/xe/eudebug: implement userptr_vma access Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 13/19] drm/xe: Debug metadata create/destroy ioctls Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 14/19] drm/xe: Attach debug metadata to vma Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 15/19] drm/xe/eudebug: Add debug metadata support for xe_eudebug Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 16/19] drm/xe/eudebug: Implement vm_bind_op discovery Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 17/19] drm/xe/eudebug: Dynamically toggle debugger functionality Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 18/19] drm/xe/eudebug_test: Introduce xe_eudebug wa kunit test Gwan-gyeong Mun
2024-10-21  9:58 ` [RFC 19/19] drm/xe/eudebug: Support EU online debug on pagefault Gwan-gyeong Mun
2024-10-24 14:24   ` Nirmoy Das
2024-10-21 10:07 ` ✓ CI.Patch_applied: success for " Patchwork
2024-10-21 10:08 ` ✗ CI.checkpatch: warning " Patchwork
2024-10-21 10:09 ` ✓ CI.KUnit: success " Patchwork
2024-10-21 10:21 ` ✓ CI.Build: " Patchwork
2024-10-21 10:23 ` ✗ CI.Hooks: failure " Patchwork
2024-10-21 10:25 ` ✓ CI.checksparse: success " Patchwork
2024-10-21 10:45 ` ✓ CI.BAT: " Patchwork

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