[PATCH i-g-t v2 00/66] Test coverage for GPU debug support
Christoph Manszewski
christoph.manszewski at intel.com
Tue Jul 30 11:44:17 UTC 2024
Hi,
In this series the eudebug kernel and validation team would like to
add test coverage for GPU debug support recently proposed as an RFC.
(https://patchwork.freedesktop.org/series/136572/)
This series adds 'xe_eudebug' and 'xe_eudebug_online' tests together
with a library that encapsulates common paths in current and future
EU debugger scenarios. It also extends the 'xe_exec_sip' test and
'gpgpu_shader' library.
The aim of the 'xe_eudebug' test is to validate the eudebug resource
tracking and event delivery mechanism. The 'xe_eudebug_online' test is
dedicated for 'online' scenarios which means scenarios that exercise
hardware exception handling and thread state manipulation.
The xe_eudebug library provides an abstraction over debugger and debuggee
processes, asynchronous event reader, and event log buffers for post-mortem
analysis.
Latest kernel code can be found here:
https://gitlab.freedesktop.org/miku/kernel/-/commits/eudebug-dev
Thank you in advance for any comments and insight.
v2:
- make sure to include all patches and verify that each individual
patch compiles (Zbigniew)
Andrzej Hajda (6):
tests/xe_eudebug: Add userptr variant of basic-vm-access test
lib/gpgpu_shader: Add write_on_exception template
lib/gpgpu_shader: Add set/clear exception register (cr0.1) helpers
lib/intel_batchbuffer: Add helper to get pointer at specified offset
lib/gpgpu_shader: Allow enabling illegal opcode exceptions in shader
tests/xe_exec_sip: Rework invalid instruction tests
Christoph Manszewski (17):
lib/xe_ioctl: Add wrapper with vm_bind_op extension parameter
lib/xe_eudebug: Add support for vm_bind events
lib/xe_eudebug: Add support for user fence acking
lib/xe_eudebug: Add support for dynamic debugger sysfs toggle
tests/xe_eudebug: Add basic vm-bind coverage
tests/xe_eudebug: Add support for dynamic debugger sysfs toggle
tests/xe_eudebug: Add coverage for sysfs debugger toggle
lib/xe_eudebug: Allow debugger to wait for client
tests/xe_eudebug: Add vm-bind discovery tests
tests/xe_eudebug: Add basic-vm-bind-ufence
tests/xe_eudebug: Add vm-bind-clear test
lib/gpgpu_shader: Extend shader building library
tests/xe_exec_sip: Port tests for shaders and sip
tests/xe_exec_sip: Add support for dynamic debugger sysfs toggle
tests/xe_eudebug_online: Add support for dynamic debugger sysfs toggle
tests/xe_eudebug_online: Add subtests w/o long running mode
tests/xe_live_ktest: Add xe_eudebug live test
Dominik Grzegorzek (18):
drm-uapi/xe: Sync with eudebug uapi
tests/xe_eudebug: Test eudebug connection
lib/xe_eudebug: Introduce eu debug testing framework
lib/xe_eudebug: Add exec_queue support
lib/xe_eudebug: Add attention events support
lib/xe_eudebug: Add metadata support
tests/xe_eudebug: Test open close events
tests/xe_eudebug: Exercise read_event ioctl
tests/xe_eudebug: Add vm events sanity check
tests/xe_eudebug: Race discovery against eudebug attach.
tests/xe_eudebug: Introduce basic exec_queue testing
tests/xe_eudebug: Include exec queues in discovery testing
tests/xe_exec_sip: Check if we reset due to unhandled attention
tests/xe_exec_sip: Check usercoredump for attentions
tests/xe_eudebug_online: Debug client which runs workloads on EU
tests/xe_eudebug_online: Set dynamic breakpoint on interrupt-all
tests/xe_eudebug_online: What if user does not set debug mode?
tests/xe_eudebug_online: Check if eu debugger disables preemption
timeout
Dominik Karol Piatkowski (1):
tests/xe_eudebug_online: Add caching tests
Dominik Karol Piątkowski (5):
tests/xe_eudebug: Add multigpu scenarios
tests/xe_exec_sip: Add breakpoint-writesip-twice test
tests/xe_exec_sip: Add breakpoint-waitsip-heavy test
tests/xe_eudebug_online: Add tdctl-parameters test
tests/xe_eudebug_online: Add single-step and single-step-one tests
Gwan-gyeong Mun (1):
lib/intel_batchbuffer: Add support for long-running mode execution
Jonathan Cavitt (2):
tests/xe_eudebug: Exercise lseek
tests/xe_eudebug: Test multiple bo sizes
Karolina Stolarek (6):
tests/xe_eudebug: Add discovery-race-vmbind subtest
tests/xe_exec_sip: Add sanity-after-timeout test
tests/xe_exec_sip: Add nodebug test cases
lib/xe_eudebug: Expose xe_eudebug_connect
tests/xe_eudebug_online: Add interrupt-reconnect test
tests/xe_eudebug_online: Add multisession test cases
Kolanupaka Naveena (1):
tests/xe_eudebug_online: Adds debugger-reopen test
Maciej Patelczyk (3):
tests/xe_eudebug: Exercise debug metadata events sent to debugger
tests/xe_eudebug: Add basic-vm-bind-metadata-discovery
tests/xe_eudebug: Added connect-user test
Mika Kuoppala (2):
lib/xe_eudebug: Allow client to wait for debugger
tests/xe_eudebug: Add vm open/pread/pwrite basic tests
Pawel Sikora (4):
tests/xe_eudebug: Add basic-vm-access-parameters test
lib/xe_eudebug: Add mutex for log events write
tests/xe_eudebug: Add basic-client-th test
tests/xe_eudebug_online: Add reset-with-attention test
include/drm-uapi/xe_drm.h | 104 +-
include/drm-uapi/xe_drm_eudebug.h | 226 +++
lib/gpgpu_shader.c | 474 +++++-
lib/gpgpu_shader.h | 29 +-
lib/iga64_generated_codes.c | 428 ++++-
lib/intel_batchbuffer.c | 153 +-
lib/intel_batchbuffer.h | 22 +
lib/meson.build | 1 +
lib/xe/xe_eudebug.c | 2192 ++++++++++++++++++++++++++
lib/xe/xe_eudebug.h | 206 +++
lib/xe/xe_ioctl.c | 20 +-
lib/xe/xe_ioctl.h | 5 +
tests/intel/xe_eudebug.c | 2425 +++++++++++++++++++++++++++++
tests/intel/xe_eudebug_online.c | 2117 +++++++++++++++++++++++++
tests/intel/xe_exec_sip.c | 332 +++-
tests/intel/xe_live_ktest.c | 6 +
tests/meson.build | 2 +
17 files changed, 8701 insertions(+), 41 deletions(-)
create mode 100644 include/drm-uapi/xe_drm_eudebug.h
create mode 100644 lib/xe/xe_eudebug.c
create mode 100644 lib/xe/xe_eudebug.h
create mode 100644 tests/intel/xe_eudebug.c
create mode 100644 tests/intel/xe_eudebug_online.c
--
2.34.1
More information about the igt-dev
mailing list