[PATCH i-g-t v3 00/14] Test coverage for GPU debug support

Kamil Konieczny kamil.konieczny at linux.intel.com
Fri Aug 9 14:24:35 UTC 2024


Hi Christoph,
On 2024-08-09 at 14:37:59 +0200, Christoph Manszewski wrote:
> 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)
> 

Please look into GitLab compilation report with error for
armhf and mips:

build:tests-debian-meson-armhf has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/62081847):

../lib/igt_core.h:1257:64: note: in definition of macro ‘igt_debug’
#define igt_debug(f...) igt_log(IGT_LOG_DOMAIN, IGT_LOG_DEBUG, f)

../lib/xe/xe_eudebug.c: In function ‘xe_eudebug_client_exec_queue_create’:
../lib/xe/xe_eudebug.c:1792:20: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
uint16_t class = ((struct drm_xe_engine_class_instance *)(create->instances))[0].engine_class;

../lib/xe/xe_eudebug.c: In function ‘xe_eudebug_client_exec_queue_destroy’:
../lib/xe/xe_eudebug.c:1816:20: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
uint16_t class = ((struct drm_xe_engine_class_instance *)(create->instances))[0].engine_class;

cc1: some warnings being treated as errors
ninja: build stopped: subcommand failed.

Regards,
Kamil

> Andrzej Hajda (4):
>   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
> 
> Christoph Manszewski (5):
>   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: Extend SIP interaction testing
>   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
> 
>  include/drm-uapi/xe_drm.h         |  112 +-
>  include/drm-uapi/xe_drm_eudebug.h |  225 +++
>  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          | 2671 +++++++++++++++++++++++++++++
>  tests/intel/xe_eudebug_online.c   | 2203 ++++++++++++++++++++++++
>  tests/intel/xe_exec_sip.c         |  332 +++-
>  tests/intel/xe_live_ktest.c       |    6 +
>  tests/meson.build                 |    2 +
>  17 files changed, 9036 insertions(+), 45 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