Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/66] Test coverage for GPU debug support
@ 2024-07-29 16:00 Christoph Manszewski
  2024-07-29 16:00 ` [PATCH 01/66] tests/xe_eudebug: Test eudebug connection Christoph Manszewski
                   ` (67 more replies)
  0 siblings, 68 replies; 71+ messages in thread
From: Christoph Manszewski @ 2024-07-29 16:00 UTC (permalink / raw)
  To: igt-dev
  Cc: Zbigniew Kempczyński, Kamil Konieczny, Dominik Grzegorzek,
	Maciej Patelczyk, Dominik Karol Piątkowski, Pawel Sikora,
	Andrzej Hajda, Kolanupaka Naveena, Mika Kuoppala, Gwan-gyeong Mun,
	Christoph Manszewski

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.

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):
  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: Add TEST/SUBTEST documentation
  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

 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             | 2186 ++++++++++++++++++++++++++++
 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 +
 15 files changed, 8371 insertions(+), 35 deletions(-)
 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


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

end of thread, other threads:[~2024-07-30  9:42 UTC | newest]

Thread overview: 71+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-29 16:00 [PATCH 00/66] Test coverage for GPU debug support Christoph Manszewski
2024-07-29 16:00 ` [PATCH 01/66] tests/xe_eudebug: Test eudebug connection Christoph Manszewski
2024-07-30  7:58   ` Zbigniew Kempczyński
2024-07-30  9:42     ` Manszewski, Christoph
2024-07-29 16:00 ` [PATCH 02/66] lib/xe_eudebug: Introduce eu debug testing framework Christoph Manszewski
2024-07-29 16:00 ` [PATCH 03/66] lib/xe_eudebug: Allow client to wait for debugger Christoph Manszewski
2024-07-29 16:00 ` [PATCH 04/66] lib/xe_eudebug: Add exec_queue support Christoph Manszewski
2024-07-29 16:00 ` [PATCH 05/66] lib/xe_eudebug: Add attention events support Christoph Manszewski
2024-07-29 16:00 ` [PATCH 06/66] lib/xe_ioctl: Add wrapper with vm_bind_op extension parameter Christoph Manszewski
2024-07-29 16:01 ` [PATCH 07/66] lib/xe_eudebug: Add support for vm_bind events Christoph Manszewski
2024-07-29 16:01 ` [PATCH 08/66] lib/xe_eudebug: Add metadata support Christoph Manszewski
2024-07-29 16:01 ` [PATCH 09/66] lib/xe_eudebug: Add support for user fence acking Christoph Manszewski
2024-07-29 16:01 ` [PATCH 10/66] lib/xe_eudebug: Add support for dynamic debugger sysfs toggle Christoph Manszewski
2024-07-29 16:01 ` [PATCH 11/66] tests/xe_eudebug: Test open close events Christoph Manszewski
2024-07-29 16:01 ` [PATCH 12/66] tests/xe_eudebug: Exercise read_event ioctl Christoph Manszewski
2024-07-29 16:01 ` [PATCH 13/66] tests/xe_eudebug: Add vm events sanity check Christoph Manszewski
2024-07-29 16:01 ` [PATCH 14/66] tests/xe_eudebug: Race discovery against eudebug attach Christoph Manszewski
2024-07-29 16:01 ` [PATCH 15/66] tests/xe_eudebug: Add TEST/SUBTEST documentation Christoph Manszewski
2024-07-29 16:01 ` [PATCH 16/66] tests/xe_eudebug: Introduce basic exec_queue testing Christoph Manszewski
2024-07-29 16:01 ` [PATCH 17/66] tests/xe_eudebug: Include exec queues in discovery testing Christoph Manszewski
2024-07-29 16:01 ` [PATCH 18/66] tests/xe_eudebug: Add vm open/pread/pwrite basic tests Christoph Manszewski
2024-07-29 16:01 ` [PATCH 19/66] tests/xe_eudebug: Add basic vm-bind coverage Christoph Manszewski
2024-07-29 16:01 ` [PATCH 20/66] tests/xe_eudebug: Exercise debug metadata events sent to debugger Christoph Manszewski
2024-07-29 16:01 ` [PATCH 21/66] tests/xe_eudebug: Add support for dynamic debugger sysfs toggle Christoph Manszewski
2024-07-29 16:01 ` [PATCH 22/66] tests/xe_eudebug: Add coverage for sysfs debugger toggle Christoph Manszewski
2024-07-29 16:01 ` [PATCH 23/66] lib/xe_eudebug: Allow debugger to wait for client Christoph Manszewski
2024-07-29 16:01 ` [PATCH 24/66] tests/xe_eudebug: Add vm-bind discovery tests Christoph Manszewski
2024-07-29 16:01 ` [PATCH 25/66] tests/xe_eudebug: Add basic-vm-bind-metadata-discovery Christoph Manszewski
2024-07-29 16:01 ` [PATCH 26/66] tests/xe_eudebug: Add basic-vm-access-parameters test Christoph Manszewski
2024-07-29 16:01 ` [PATCH 27/66] lib/xe_eudebug: Add mutex for log events write Christoph Manszewski
2024-07-29 16:01 ` [PATCH 28/66] tests/xe_eudebug: Add basic-client-th test Christoph Manszewski
2024-07-29 16:01 ` [PATCH 29/66] tests/xe_eudebug: Added connect-user test Christoph Manszewski
2024-07-29 16:01 ` [PATCH 30/66] tests/xe_eudebug: Add discovery-race-vmbind subtest Christoph Manszewski
2024-07-29 16:01 ` [PATCH 31/66] tests/xe_eudebug: Add userptr variant of basic-vm-access test Christoph Manszewski
2024-07-29 16:01 ` [PATCH 32/66] tests/xe_eudebug: Add basic-vm-bind-ufence Christoph Manszewski
2024-07-29 16:01 ` [PATCH 33/66] tests/xe_eudebug: Add multigpu scenarios Christoph Manszewski
2024-07-29 16:01 ` [PATCH 34/66] tests/xe_eudebug: Add vm-bind-clear test Christoph Manszewski
2024-07-29 16:01 ` [PATCH 35/66] tests/xe_eudebug: Exercise lseek Christoph Manszewski
2024-07-29 16:01 ` [PATCH 36/66] tests/xe_eudebug: Test multiple bo sizes Christoph Manszewski
2024-07-29 16:01 ` [PATCH 37/66] lib/gpgpu_shader: Extend shader building library Christoph Manszewski
2024-07-29 16:01 ` [PATCH 38/66] tests/xe_exec_sip: Port tests for shaders and sip Christoph Manszewski
2024-07-29 16:01 ` [PATCH 39/66] tests/xe_exec_sip: Check if we reset due to unhandled attention Christoph Manszewski
2024-07-29 16:01 ` [PATCH 40/66] tests/xe_exec_sip: Check usercoredump for attentions Christoph Manszewski
2024-07-29 16:01 ` [PATCH 41/66] tests/xe_exec_sip: Add support for dynamic debugger sysfs toggle Christoph Manszewski
2024-07-29 16:01 ` [PATCH 42/66] tests/xe_exec_sip: Add breakpoint-writesip-twice test Christoph Manszewski
2024-07-29 16:01 ` [PATCH 43/66] tests/xe_exec_sip: Add sanity-after-timeout test Christoph Manszewski
2024-07-29 16:01 ` [PATCH 44/66] tests/xe_exec_sip: Add breakpoint-waitsip-heavy test Christoph Manszewski
2024-07-29 16:01 ` [PATCH 45/66] tests/xe_exec_sip: Add nodebug test cases Christoph Manszewski
2024-07-29 16:01 ` [PATCH 46/66] lib/gpgpu_shader: Add write_on_exception template Christoph Manszewski
2024-07-29 16:01 ` [PATCH 47/66] lib/gpgpu_shader: Add set/clear exception register (cr0.1) helpers Christoph Manszewski
2024-07-29 16:01 ` [PATCH 48/66] lib/intel_batchbuffer: Add helper to get pointer at specified offset Christoph Manszewski
2024-07-29 16:01 ` [PATCH 49/66] lib/gpgpu_shader: Allow enabling illegal opcode exceptions in shader Christoph Manszewski
2024-07-29 16:01 ` [PATCH 50/66] tests/xe_exec_sip: Rework invalid instruction tests Christoph Manszewski
2024-07-29 16:01 ` [PATCH 51/66] lib/intel_batchbuffer: Add support for long-running mode execution Christoph Manszewski
2024-07-29 16:01 ` [PATCH 52/66] tests/xe_eudebug_online: Debug client which runs workloads on EU Christoph Manszewski
2024-07-29 16:01 ` [PATCH 53/66] tests/xe_eudebug_online: Set dynamic breakpoint on interrupt-all Christoph Manszewski
2024-07-29 16:01 ` [PATCH 54/66] tests/xe_eudebug_online: Add support for dynamic debugger sysfs toggle Christoph Manszewski
2024-07-29 16:01 ` [PATCH 55/66] tests/xe_eudebug_online: Add tdctl-parameters test Christoph Manszewski
2024-07-29 16:01 ` [PATCH 56/66] tests/xe_eudebug_online: Add reset-with-attention test Christoph Manszewski
2024-07-29 16:01 ` [PATCH 57/66] lib/xe_eudebug: Expose xe_eudebug_connect Christoph Manszewski
2024-07-29 16:01 ` [PATCH 58/66] tests/xe_eudebug_online: Add interrupt-reconnect test Christoph Manszewski
2024-07-29 16:01 ` [PATCH 59/66] tests/xe_eudebug_online: Add single-step and single-step-one tests Christoph Manszewski
2024-07-29 16:01 ` [PATCH 60/66] tests/xe_eudebug_online: What if user does not set debug mode? Christoph Manszewski
2024-07-29 16:01 ` [PATCH 61/66] tests/xe_eudebug_online: Adds debugger-reopen test Christoph Manszewski
2024-07-29 16:01 ` [PATCH 62/66] tests/xe_eudebug_online: Add caching tests Christoph Manszewski
2024-07-29 16:01 ` [PATCH 63/66] tests/xe_eudebug_online: Add subtests w/o long running mode Christoph Manszewski
2024-07-29 16:01 ` [PATCH 64/66] tests/xe_eudebug_online: Add multisession test cases Christoph Manszewski
2024-07-29 16:01 ` [PATCH 65/66] tests/xe_eudebug_online: Check if eu debugger disables preemption timeout Christoph Manszewski
2024-07-29 16:01 ` [PATCH 66/66] tests/xe_live_ktest: Add xe_eudebug live test Christoph Manszewski
2024-07-29 19:18 ` ✗ Fi.CI.BUILD: failure for Test coverage for GPU debug support Patchwork
2024-07-29 19:21 ` ✗ GitLab.Pipeline: warning " Patchwork

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