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

Kamil Konieczny kamil.konieczny at linux.intel.com
Wed Mar 20 15:56:54 UTC 2024


      Introduce some multi-gpu function helpers and macros. This allows
quickly writing new multiGPU tests for i915 without requiring filters.
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 also 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
v13: dropped patch for Xe macro with filtered views as it will be better
 to send it in separate patchset (Janusz)
 other improvements suggested by Janusz
v14: drop multigpu_open_another and replace it with drm_open_driver_another
 in igt_multigpu, add missing igt_require_gem() in gem_exec_gttfill (Janusz)

Cc: Janusz Krzysztofik <janusz.krzysztofik at linux.intel.com>
Cc: "Zbigniew Kempczyński" <zbigniew.kempczynski at 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 (2):
  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             |  88 ++++++++++++++++++++++++++
 lib/igt_multigpu.h             |  36 +++++++++++
 lib/meson.build                |   1 +
 tests/intel/gem_exec_gttfill.c |  14 ++---
 tests/intel/xe_exec_basic.c    |  36 +++++++++++
 9 files changed, 266 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