[PATCH i-g-t v12 0/6] introduce Xe multigpu and other multi-GPU helpers

Kamil Konieczny kamil.konieczny at linux.intel.com
Wed Mar 13 19:29:39 UTC 2024


      Introduce some multi-gpu function helpers and macros. This allows
writing new multiGPU tests for i915 without requiring filters.
Solution for Xe is based on filtered views. Both allows to
quickly write tests. There is still drawback of not printing in
children logs <g:gpu-number> for first (for Xe) opened device or for
all opened ones (for i915). I renamed lib from lib/i915/igt_multigpu.*
to lib/igt_multigu.* as they should work for other vendors.

v2: corrected two patches which introduced multigpu lib (Dominik)
  rebased patch intoducing Xe multigpu macro, corrected description
v3: corrected include in first multigpu patch (Dominik)
  fixed typo (Dominik), refactoring code with Xe and gem macro (Kamil)
v4: corrected typo in macro (Dominik)
v5: removed cached names and relaxing checks for filtered devices
  in 3/8 patch, added Janusz to cc in 1/8...5/8 (Kamil)
v6: extended description of patches 1 and 2, fixed bug in 3/8 (Janusz)
  improved usage of _is_already_opened() (Kamil)
v7: restored prohibition of opening the same card at other index (Janusz)
v8: limit checks for N-th card to 0...N-1 range (Janusz)
 simplify if-else in __search_and_open() (Kamil)
v9: dropped patch 3/8 ("lib/drmtest: allow opening cards in random order")
 as it can be added later, replaced 8/8 ("tests/intel/gem_mmap: add basic
 multi-GPU") with refactor in gem_exec_gttfill (Kamil)
v10: added new helper close function into drmtest.c (Kamil)
 use skip in drm_open_driver() in drmtest.c (Janusz)
 renamed macro from xe_multi_fork_foreach_gpu to multi_fork_foreach_gpu_chip
 and also adding chipset parameter to it, so it is more flexible (Zbigniew)
 fix xe test to use new macro (Kamil)
 squashed patches 3 and 4 into one (Janusz)
v11: moved descriptions for new functions into patch where they are
 introduced (Janusz)
 corrected description in cover letter for v10 (Kamil)
v12: many improvements suggested by Janusz

Cc: "Zbigniew Kempczyński" <zbigniew.kempczynski at intel.com>
Cc: Janusz Krzysztofik <janusz.krzysztofik at linux.intel.com>

Dominik Karol Piątkowski (3):
  lib/igt_device_scan: Introduce filtering out non-PCI devices
  lib/drmtest: Introduced drm_open_driver_another
  lib/igt_multigpu: Introduce library for multi-GPU scenarios

Kamil Konieczny (3):
  lib/igt_multigpu: Add igt_foreach_gpu_chip
  tests/intel/xe_exec_basic: add multigpu subtests
  tests/intel/gem_exec_gttfill: simplify multiGPU subtest

 lib/drmtest.c                  | 109 +++++++++++++++++---------
 lib/drmtest.h                  |   2 +
 lib/igt_device_scan.c          |  23 ++++++
 lib/igt_device_scan.h          |   2 +
 lib/igt_multigpu.c             | 135 +++++++++++++++++++++++++++++++++
 lib/igt_multigpu.h             |  43 +++++++++++
 lib/meson.build                |   1 +
 tests/intel/gem_exec_gttfill.c |  13 +---
 tests/intel/xe_exec_basic.c    |  36 +++++++++
 9 files changed, 319 insertions(+), 45 deletions(-)
 create mode 100644 lib/igt_multigpu.c
 create mode 100644 lib/igt_multigpu.h

-- 
2.42.0



More information about the igt-dev mailing list