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

Janusz Krzysztofik janusz.krzysztofik at linux.intel.com
Thu Mar 14 12:55:57 UTC 2024


Hi Kamil,

On Wednesday, 13 March 2024 20:29:39 CET Kamil Konieczny wrote:
>       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.

Looking at the patches, I can see you may be not able to implement a single 
set of helpers that will satisfy requirements of both tests you need to extend 
with new subtests.  Since mixing two different solutions to similar problems 
in one series makes the picture less clear, could we have that split into two 
series?

Thanks,
Janusz

> 
> 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
> 
> 






More information about the igt-dev mailing list