[igt-dev] [PATCH i-g-t v3 0/6] Add few multi-GPU subtests with the help of igt_multi_fork macro

Kamil Konieczny kamil.konieczny at linux.intel.com
Thu Dec 8 22:38:02 UTC 2022


      Add one simple macro igt_multi_fork() and new helpers in
igt_core to enable running tests on two or more GPUs in parallel.
To test this idea I added few multigpu-* subtests to gem_basic,
gem_close_race and gem_exec_gttfill.
It is open-coded for ease of debug but can be wrapped into
additional macro if this idea will get acceptance.
I also added some extensions to igt_core for logging so that may
help in diagnosing errors and added tests for igt_multi_fork.

v1:
added igt_multi_gpu() fork
added log for opened device extension from Mauro with
  some modifications
added tests for igt_multi_fork() so it works as igt_fork
added prefix log to help debug problems
rework gttfill multigpu-basic subtest

v2:
rewording cover letter, correcting v1 description
rebase, added few more Cc to some patches
addressed review comments from Mauro

v3:
correct behaviour for dynamic containers check in igt_fail()
dropped patch 2/7 lib/igt_core: store GPU string or opened device name
  as it should be done in other way (Petri)
rebased

See some logs below.

Cc: Anna Karas <anna.karas at intel.com>
Cc: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
Cc: Mauro Carvalho Chehab <mauro.chehab at linux.intel.com>
Cc: Petri Latvala <petri.latvala at intel.com>

sudo build/tests/gem_exec_gttfill --run multigpu-basic --device=pci:vendor=Intel,device=discrete,card=all
[..skipped..]
Starting subtest: multigpu-basic
<g:0> Setup 1025 batches in 3398.88ms
<g:1> Setup 1025 batches in 3392.46ms
[..skipped..]
<g:0> Total: 33 cycles
<g:1> Total: 33 cycles
Subtest multigpu-basic: SUCCESS (36.248s)

sudo build/tests/gem_basic --run multigpu-create-close --device=pci:vendor=Intel,device=discrete,card=all

Starting subtest: multigpu-create-close
<g:0> Testing creating and closing an object.
<g:1> Testing creating and closing an object.
Subtest multigpu-create-close: SUCCESS (0.043s)

Kamil Konieczny (6):
  lib/igt_core: add igt_multi_fork for parallel tests
  lib/igt_core: add prefix to logging
  lib/tests/igt_fork: add tests for igt_multi_fork
  tests/i915/gem_basic: add multigpu-create-close subtest
  tests/i915/gem_exec_gttfill: add new subtest multigpu-basic
  tests/i915/gem_close_race: add multiGPU subtests

 lib/igt_core.c                | 203 +++++++++++++++++++++++++++++++---
 lib/igt_core.h                |  21 ++++
 lib/tests/igt_fork.c          |  93 +++++++++++-----
 tests/i915/gem_basic.c        |  21 +++-
 tests/i915/gem_close_race.c   |  52 +++++++++
 tests/i915/gem_exec_gttfill.c |  30 ++++-
 6 files changed, 375 insertions(+), 45 deletions(-)

-- 
2.34.1



More information about the igt-dev mailing list