Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Manszewski <christoph.manszewski@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: "Zbigniew Kempczyński" <zbigniew.kempczynski@intel.com>,
	"Kamil Konieczny" <kamil.konieczny@linux.intel.com>,
	"Dominik Grzegorzek" <dominik.grzegorzek@intel.com>,
	"Maciej Patelczyk" <maciej.patelczyk@intel.com>,
	"Dominik Karol Piątkowski" <dominik.karol.piatkowski@intel.com>,
	"Pawel Sikora" <pawel.sikora@intel.com>,
	"Andrzej Hajda" <andrzej.hajda@intel.com>,
	"Kolanupaka Naveena" <kolanupaka.naveena@intel.com>,
	"Mika Kuoppala" <mika.kuoppala@intel.com>,
	"Gwan-gyeong Mun" <gwan-gyeong.mun@intel.com>,
	"Christoph Manszewski" <christoph.manszewski@intel.com>
Subject: [PATCH i-g-t v5 00/17] Test coverage for GPU debug support
Date: Thu, 29 Aug 2024 16:45:30 +0200	[thread overview]
Message-ID: <20240829144547.105371-1-christoph.manszewski@intel.com> (raw)

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)

v3:
 - fix multiple typos (Dominik Karol),
 - squash subtest and eudebug lib patches (Zbigniew),
 - include uapi sync/fix (Kamil)

v4:
 - move all eudebug uapi changes to xe_drm_eudebug.h (Zbigniew),
 - move some 'xe_exec_sip' tests to 'xe_exec_sip_eudebug' test (Zbigniew),
 - control eudebug lib and test build with meson flag and disable it by
 default (Zbigniew),
 - fix multiple checkpatch issues (Kamil),
 - apply review comments from Dominik,

v5:
 - add comment to 'xe_drm_eudebug' (Zbigniew),
 - misc fixes and cleanups in gpgpu_shader.[ch] (Zbigniew),
 - assert on offset in intel_bb_ptr_get (Zbigniew),
 - use enum for shader and sip type in 'xe_exec_sip[_eudebug]'
 (Zbigniew),
 - fix string concatenation issue for meson older than 0.49,
 - more (hopefully all relevant) checkpatch issues addressed,

Andrzej Hajda (5):
  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: Introduce invalid instruction tests

Christoph Manszewski (7):
  drm-uapi/xe: Sync with oa uapi fix
  lib/xe_ioctl: Add wrapper with vm_bind_op extension parameter
  lib/gpgpu_shader: Extend shader building library
  tests/xe_exec_sip: Add sanity-after-timeout test
  scripts/igt_doc: Add '--exclude-files' parameter
  tests/xe_exec_sip_eudebug: Add SIP tests for eudebug
  tests/xe_live_ktest: Add xe_eudebug live test

Dominik Grzegorzek (4):
  drm-uapi/xe: Sync with eudebug uapi
  lib/xe_eudebug: Introduce eu debug testing framework
  tests/xe_eudebug: Test eudebug resource tracking and manipulation
  tests/xe_eudebug_online: Debug client which runs workloads on EU

Gwan-gyeong Mun (1):
  lib/intel_batchbuffer: Add support for long-running mode execution

 docs/testplan/meson.build         |   22 +-
 include/drm-uapi/xe_drm.h         |   16 +-
 include/drm-uapi/xe_drm_eudebug.h |  341 ++++
 lib/gpgpu_shader.c                |  480 ++++-
 lib/gpgpu_shader.h                |   29 +-
 lib/iga64_generated_codes.c       |  547 +++++-
 lib/intel_batchbuffer.c           |  149 +-
 lib/intel_batchbuffer.h           |   24 +
 lib/meson.build                   |    5 +
 lib/xe/xe_eudebug.c               | 2198 +++++++++++++++++++++++
 lib/xe/xe_eudebug.h               |  212 +++
 lib/xe/xe_ioctl.c                 |   20 +-
 lib/xe/xe_ioctl.h                 |    5 +
 meson.build                       |    2 +
 meson_options.txt                 |    5 +
 scripts/igt_doc.py                |    3 +
 scripts/test_list.py              |   47 +-
 tests/intel/xe_eudebug.c          | 2715 +++++++++++++++++++++++++++++
 tests/intel/xe_eudebug_online.c   | 2254 ++++++++++++++++++++++++
 tests/intel/xe_exec_sip.c         |  147 +-
 tests/intel/xe_exec_sip_eudebug.c |  351 ++++
 tests/intel/xe_live_ktest.c       |    6 +
 tests/meson.build                 |    8 +
 23 files changed, 9534 insertions(+), 52 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
 create mode 100644 tests/intel/xe_exec_sip_eudebug.c

-- 
2.34.1


             reply	other threads:[~2024-08-29 14:46 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-29 14:45 Christoph Manszewski [this message]
2024-08-29 14:45 ` [PATCH i-g-t v5 01/17] drm-uapi/xe: Sync with oa uapi fix Christoph Manszewski
2024-08-29 14:45 ` [PATCH i-g-t v5 02/17] lib/xe_ioctl: Add wrapper with vm_bind_op extension parameter Christoph Manszewski
2024-08-29 14:45 ` [PATCH i-g-t v5 03/17] lib/gpgpu_shader: Extend shader building library Christoph Manszewski
2024-08-30  9:19   ` Zbigniew Kempczyński
2024-08-30  9:38     ` Manszewski, Christoph
2024-08-30 10:03       ` Manszewski, Christoph
2024-08-30 10:50         ` Zbigniew Kempczyński
2024-08-30 12:21           ` Manszewski, Christoph
2024-08-30 10:48       ` Zbigniew Kempczyński
2024-08-29 14:45 ` [PATCH i-g-t v5 04/17] lib/gpgpu_shader: Add write_on_exception template Christoph Manszewski
2024-09-04 12:23   ` Zbigniew Kempczyński
2024-09-04 13:27     ` Manszewski, Christoph
2024-08-29 14:45 ` [PATCH i-g-t v5 05/17] lib/gpgpu_shader: Add set/clear exception register (cr0.1) helpers Christoph Manszewski
2024-08-29 14:45 ` [PATCH i-g-t v5 06/17] lib/intel_batchbuffer: Add helper to get pointer at specified offset Christoph Manszewski
2024-08-30  9:36   ` Zbigniew Kempczyński
2024-08-30  9:44     ` Manszewski, Christoph
2024-08-30 10:57       ` Zbigniew Kempczyński
2024-08-30 11:16       ` Zbigniew Kempczyński
2024-08-29 14:45 ` [PATCH i-g-t v5 07/17] lib/gpgpu_shader: Allow enabling illegal opcode exceptions in shader Christoph Manszewski
2024-08-29 14:45 ` [PATCH i-g-t v5 08/17] tests/xe_exec_sip: Add sanity-after-timeout test Christoph Manszewski
2024-08-30  9:37   ` Zbigniew Kempczyński
2024-08-29 14:45 ` [PATCH i-g-t v5 09/17] tests/xe_exec_sip: Introduce invalid instruction tests Christoph Manszewski
2024-08-30 11:54   ` Zbigniew Kempczyński
2024-08-30 12:30     ` Manszewski, Christoph
2024-08-29 14:45 ` [PATCH i-g-t v5 10/17] drm-uapi/xe: Sync with eudebug uapi Christoph Manszewski
2024-08-29 14:45 ` [PATCH i-g-t v5 11/17] lib/xe_eudebug: Introduce eu debug testing framework Christoph Manszewski
2024-09-02 21:19   ` Zbigniew Kempczyński
2024-09-03 11:17     ` Manszewski, Christoph
2024-09-04  7:14       ` Zbigniew Kempczyński
2024-09-04 10:43         ` Manszewski, Christoph
2024-09-03  6:21   ` Zbigniew Kempczyński
2024-09-04 11:26   ` Zbigniew Kempczyński
2024-09-04 13:11     ` Manszewski, Christoph
2024-08-29 14:45 ` [PATCH i-g-t v5 12/17] scripts/igt_doc: Add '--exclude-files' parameter Christoph Manszewski
2024-09-03  6:54   ` Zbigniew Kempczyński
2024-09-04 13:37     ` Manszewski, Christoph
2024-08-29 14:45 ` [PATCH i-g-t v5 13/17] tests/xe_eudebug: Test eudebug resource tracking and manipulation Christoph Manszewski
2024-09-03  8:39   ` Zbigniew Kempczyński
2024-08-29 14:45 ` [PATCH i-g-t v5 14/17] lib/intel_batchbuffer: Add support for long-running mode execution Christoph Manszewski
2024-09-03  8:29   ` Zbigniew Kempczyński
2024-08-29 14:45 ` [PATCH i-g-t v5 15/17] tests/xe_exec_sip_eudebug: Add SIP tests for eudebug Christoph Manszewski
2024-09-03 11:49   ` Zbigniew Kempczyński
2024-09-03 13:37     ` Manszewski, Christoph
2024-08-29 14:45 ` [PATCH i-g-t v5 16/17] tests/xe_eudebug_online: Debug client which runs workloads on EU Christoph Manszewski
2024-08-29 14:45 ` [PATCH i-g-t v5 17/17] tests/xe_live_ktest: Add xe_eudebug live test Christoph Manszewski
2024-09-04 12:14   ` Zbigniew Kempczyński
2024-08-29 18:07 ` ✗ CI.xeBAT: failure for Test coverage for GPU debug support (rev5) Patchwork
2024-08-29 18:20 ` ✓ Fi.CI.BAT: success " Patchwork
2024-08-30  7:15 ` ✗ CI.xeFULL: failure " Patchwork
2024-08-31  1:06 ` ✓ Fi.CI.IGT: success " 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=20240829144547.105371-1-christoph.manszewski@intel.com \
    --to=christoph.manszewski@intel.com \
    --cc=andrzej.hajda@intel.com \
    --cc=dominik.grzegorzek@intel.com \
    --cc=dominik.karol.piatkowski@intel.com \
    --cc=gwan-gyeong.mun@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=kamil.konieczny@linux.intel.com \
    --cc=kolanupaka.naveena@intel.com \
    --cc=maciej.patelczyk@intel.com \
    --cc=mika.kuoppala@intel.com \
    --cc=pawel.sikora@intel.com \
    --cc=zbigniew.kempczynski@intel.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox