[PATCH i-g-t v13 4/5] tests/intel/xe_exec_basic: add multigpu subtests

Kamil Konieczny kamil.konieczny at linux.intel.com
Mon Mar 18 13:26:22 UTC 2024


Add a few multi-gpu subtests:

multigpu-once-*
multigpu-many-execqueues-many-vm-*
multigpu-no-exec-*

run on two or more GPUs. Many variant was limited to take at most
few seconds.

v10: use new renamed macro multi_fork_foreach_gpu_chip (Zbigniew)
v13: use igt_multi_fork_foreach_gpu (Janusz)

Cc: "Dominik Karol Piątkowski" <dominik.karol.piatkowski at intel.com>
Cc: "Zbigniew Kempczyński" <zbigniew.kempczynski at intel.com>
Cc: Janusz Krzysztofik <janusz.krzysztofik at linux.intel.com>
Signed-off-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
---
 tests/intel/xe_exec_basic.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/tests/intel/xe_exec_basic.c b/tests/intel/xe_exec_basic.c
index e6f8db5b0..f0230a9ca 100644
--- a/tests/intel/xe_exec_basic.c
+++ b/tests/intel/xe_exec_basic.c
@@ -11,6 +11,7 @@
  */
 
 #include "igt.h"
+#include "igt_multigpu.h"
 #include "lib/igt_syncobj.h"
 #include "lib/intel_reg.h"
 #include "xe_drm.h"
@@ -54,6 +55,18 @@
  * Description: Run no-exec %arg[1] test
  * Test category: functionality test
  *
+ * SUBTEST: multigpu-once-%s
+ * Description: Run %arg[1] test only once on multiGPU
+ * Test category: functionality test
+ *
+ * SUBTEST: multigpu-many-execqueues-many-vm-%s
+ * Description: Run %arg[1] test on many exec_queues and many VMs on multiGPU
+ * Test category: stress test
+ *
+ * SUBTEST: multigpu-no-exec-%s
+ * Description: Run no-exec %arg[1] test on multiGPU
+ * Test category: functionality test
+ *
  * arg[1]:
  *
  * @basic:				basic
@@ -368,4 +381,27 @@ igt_main
 
 	igt_fixture
 		drm_close_driver(fd);
+
+	for (const struct section *s = sections; s->name; s++) {
+		igt_subtest_f("multigpu-once-%s", s->name) {
+			igt_multi_fork_foreach_multigpu(gpu_fd, gpu_idx, DRIVER_XE)
+				xe_for_each_engine(gpu_fd, hwe)
+					test_exec(gpu_fd, hwe, 1, 1, 1, s->flags);
+			igt_waitchildren();
+		}
+
+		igt_subtest_f("multigpu-many-execqueues-many-vm-%s", s->name) {
+			igt_multi_fork_foreach_multigpu(gpu_fd, gpu_idx, DRIVER_XE)
+				xe_for_each_engine(gpu_fd, hwe)
+					test_exec(gpu_fd, hwe, 16, 32, 16, s->flags);
+			igt_waitchildren();
+		}
+
+		igt_subtest_f("multigpu-no-exec-%s", s->name) {
+			igt_multi_fork_foreach_multigpu(gpu_fd, gpu_idx, DRIVER_XE)
+				xe_for_each_engine(gpu_fd, hwe)
+					test_exec(gpu_fd, hwe, 1, 0, 1, s->flags);
+			igt_waitchildren();
+		}
+	}
 }
-- 
2.42.0



More information about the igt-dev mailing list