[igt-dev] [RFC i-g-t v2 0/3] Add multi-process subtests for multi-GPUs

Kamil Konieczny kamil.konieczny at linux.intel.com
Fri Oct 7 18:48:58 UTC 2022


Add one simple macro igt_fork_dyn() and two new helpers in
igt_core to enable running dynamic tests on two or more GPUs in
parallel.
To test this idea I modified two subtests gem_basic at create-close
and gem_exec_gttfill at basic.
It is open-coded for ease of debug but can be converted
into macro if this idea will get acceptance.

Todo: add some log extension to igt_core from Mauro:
  https://patchwork.freedesktop.org/series/109171/
  "add sysfs node at subtest results when available"

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>

This is log from gem_exec_gttfill run on one GPU machine:

IGT-Version: 1.26-NO-GIT (x86_64) (Linux: 6.0.0-rc5-CI_DRM_12145-g2dc9ea03abff x86_64)
Starting subtest: basic
Starting dynamic subtest: basic-gpu-0
Starting dynamic subtest: basic-gpu-1
Test requirement not met in function start_helpers, file ../tests/i915/gem_exec_gttfill.c:229:
Test requirement: i915 > 0
Last errno: 2, No such file or directory
Dynamic subtest basic-gpu-1: SKIP (0.025s)
Setup 1025 batches in 1051.24ms
engine[2]: 2 cycles
engine[1]: 1 cycles
engine[0]: 3 cycles
engine[3]: 2 cycles
engine[4]: 2 cycles
Total: 10 cycles
Dynamic subtest basic-gpu-0: SUCCESS (2.960s)
Subtest basic: SUCCESS (2.967s)

Result from machine with two discrete GPUs:

Starting subtest: basic
Starting dynamic subtest: basic-gpu-0
Starting dynamic subtest: basic-gpu-1
Setup 1025 batches in 3518.56ms
Setup 1025 batches in 3494.03ms
...
Dynamic subtest basic-gpu-0: SUCCESS (35.349s)
Dynamic subtest basic-gpu-1: SUCCESS (35.374s)
Subtest basic: SUCCESS (35.401s)

Log from similar machine with old version of gem_exec_gttfill:

Opened device: /dev/dri/card0
Starting subtest: basic
Setup 1025 batches in 2845.22ms
Subtest basic: SUCCESS (32.341s)

Kamil Konieczny (4):
  lib/igt_core: add fork for dynamic tests
  tests/i915/gem_basic: add multi-gpu tests
  tests/i915/gem_exec_gttfill: extend basic subtest for multigpu
  HAX test only gem_basic subtests

 lib/igt_core.c                        | 141 +++++++++++++++++++++
 lib/igt_core.h                        |  22 ++++
 tests/i915/gem_basic.c                |  28 ++++-
 tests/i915/gem_exec_gttfill.c         |  48 +++++++-
 tests/intel-ci/fast-feedback.testlist | 171 +-------------------------
 5 files changed, 234 insertions(+), 176 deletions(-)

-- 
2.34.1



More information about the igt-dev mailing list