Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 0/3] Add multi-gpu basic error state subtest
@ 2023-04-20 18:24 Kamil Konieczny
  2023-04-20 18:24 ` [igt-dev] [PATCH i-g-t 1/3] tests/i915_hangman: make sysfs var local Kamil Konieczny
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Kamil Konieczny @ 2023-04-20 18:24 UTC (permalink / raw)
  To: igt-dev

This adds basic error state check subtest for multi-GPU hw
config. First two patches are preparation for change and do only
moving out global vars into local ones.

Kamil Konieczny (3):
  tests/i915_hangman: make sysfs var local
  tests/i915_hangman: make device var local
  tests/i915_hangman: add multigpu basic error state subtest

 tests/i915/i915_hangman.c | 166 ++++++++++++++++++++++++--------------
 1 file changed, 107 insertions(+), 59 deletions(-)

-- 
2.37.2

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [igt-dev] [PATCH i-g-t 1/3] tests/i915_hangman: make sysfs var local
  2023-04-20 18:24 [igt-dev] [PATCH i-g-t 0/3] Add multi-gpu basic error state subtest Kamil Konieczny
@ 2023-04-20 18:24 ` Kamil Konieczny
  2023-04-27 15:01   ` Mauro Carvalho Chehab
  2023-04-20 18:24 ` [igt-dev] [PATCH i-g-t 2/3] tests/i915_hangman: make device " Kamil Konieczny
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Kamil Konieczny @ 2023-04-20 18:24 UTC (permalink / raw)
  To: igt-dev

Global sysfs variable make it hard to use with multiGPU tests,
so make it local.

Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
---
 tests/i915/i915_hangman.c | 56 +++++++++++++++++++--------------------
 1 file changed, 28 insertions(+), 28 deletions(-)

diff --git a/tests/i915/i915_hangman.c b/tests/i915/i915_hangman.c
index 8acce8f1a..274a0ede1 100644
--- a/tests/i915/i915_hangman.c
+++ b/tests/i915/i915_hangman.c
@@ -46,7 +46,6 @@
 #endif
 
 static int device = -1;
-static int sysfs = -1;
 
 #define OFFSET_ALIVE	10
 
@@ -118,7 +117,7 @@ static bool has_error_state(int dir)
 	return result;
 }
 
-static void assert_entry(const char *s, bool expect)
+static void assert_entry(int sysfs, const char *s, bool expect)
 {
 	char *error;
 
@@ -132,40 +131,40 @@ static void assert_entry(const char *s, bool expect)
 	free(error);
 }
 
-static void assert_error_state_clear(void)
+static void assert_error_state_clear(int sysfs)
 {
-	assert_entry("no error state collected", true);
+	assert_entry(sysfs, "no error state collected", true);
 }
 
-static void assert_error_state_collected(void)
+static void assert_error_state_collected(int sysfs)
 {
-	assert_entry("no error state collected", false);
+	assert_entry(sysfs, "no error state collected", false);
 }
 
-static void clear_error_state(void)
+static void clear_error_state(int sysfs)
 {
 	igt_sysfs_write(sysfs, "error", "", 1);
 }
 
-static void test_error_state_basic(void)
+static void test_error_state_basic(int i915, int sysfs)
 {
 	int fd;
 
-	clear_error_state();
-	assert_error_state_clear();
+	clear_error_state(sysfs);
+	assert_error_state_clear(sysfs);
 
 	/* Manually trigger a hang by request a reset */
 	fd = igt_debugfs_open(device, "i915_wedged", O_WRONLY);
 	igt_ignore_warn(write(fd, "1\n", 2));
 	close(fd);
 
-	assert_error_state_collected();
+	assert_error_state_collected(sysfs);
 
-	clear_error_state();
-	assert_error_state_clear();
+	clear_error_state(sysfs);
+	assert_error_state_clear(sysfs);
 }
 
-static FILE *open_error(void)
+static FILE *open_error(int sysfs)
 {
 	int fd;
 
@@ -188,12 +187,12 @@ static bool uses_cmd_parser(void)
 	return parser_version > 0;
 }
 
-static void check_error_state(const char *expected_ring_name,
+static void check_error_state(int sysfs, const char *expected_ring_name,
 			      uint64_t expected_offset,
 			      const uint32_t *batch)
 {
 	bool cmd_parser = uses_cmd_parser();
-	FILE *file = open_error();
+	FILE *file = open_error(sysfs);
 	char *line = NULL;
 	size_t line_size = 0;
 	bool found = false;
@@ -254,12 +253,12 @@ static void check_error_state(const char *expected_ring_name,
 	free(line);
 	fclose(file);
 
-	clear_error_state();
+	clear_error_state(sysfs);
 
 	igt_assert(found);
 }
 
-static void test_error_state_capture(const intel_ctx_t *ctx,
+static void test_error_state_capture(int sysfs, const intel_ctx_t *ctx,
 				     const struct intel_execution_engine2 *e)
 {
 	uint32_t *batch;
@@ -267,7 +266,7 @@ static void test_error_state_capture(const intel_ctx_t *ctx,
 	uint64_t offset;
 	uint64_t ahnd = get_reloc_ahnd(device, ctx->id);
 
-	clear_error_state();
+	clear_error_state(sysfs);
 
 	hang = igt_hang_ctx_with_ahnd(device, ahnd, ctx->id, e->flags,
 				      HANG_ALLOW_CAPTURE);
@@ -278,7 +277,7 @@ static void test_error_state_capture(const intel_ctx_t *ctx,
 
 	igt_post_hang_ring(device, hang);
 
-	check_error_state(e->name, offset, batch);
+	check_error_state(sysfs, e->name, offset, batch);
 	munmap(batch, 4096);
 	put_ahnd(ahnd);
 
@@ -457,7 +456,7 @@ static void hangcheck_unterminated(const intel_ctx_t *ctx)
 	check_alive();
 }
 
-static void do_tests(const char *name, const char *prefix,
+static void do_tests(int sysfs, const char *name, const char *prefix,
 		     const intel_ctx_t *ctx)
 {
 	const struct intel_execution_engine2 *e;
@@ -469,7 +468,7 @@ static void do_tests(const char *name, const char *prefix,
 	igt_subtest_with_dynamic(buff) {
 		for_each_ctx_engine(device, ctx, e) {
 			igt_dynamic_f("%s", e->name)
-				test_error_state_capture(ctx, e);
+				test_error_state_capture(sysfs, ctx, e);
 		}
 	}
 
@@ -521,6 +520,7 @@ igt_main
 	igt_hang_t hang = {};
 	struct gem_engine_properties saved_params[GEM_MAX_ENGINES];
 	int num_engines = 0;
+	int sysfs_fd = -1;
 
 	igt_fixture {
 		const struct intel_execution_engine2 *e;
@@ -532,10 +532,10 @@ igt_main
 
 		hang = igt_allow_hang(device, ctx->id, HANG_ALLOW_CAPTURE);
 
-		sysfs = igt_sysfs_open(device);
-		igt_assert(sysfs != -1);
+		sysfs_fd = igt_sysfs_open(device);
+		igt_assert(sysfs_fd != -1);
 
-		igt_require(has_error_state(sysfs));
+		igt_require(has_error_state(sysfs_fd));
 
 		gem_require_mmap_device_coherent(device);
 
@@ -549,7 +549,7 @@ igt_main
 
 	igt_describe("Basic error capture");
 	igt_subtest("error-state-basic")
-		test_error_state_basic();
+		test_error_state_basic(sysfs_fd, device);
 
 	igt_describe("Check that executing unintialised memory causes a hang");
 	igt_subtest("hangcheck-unterminated")
@@ -565,7 +565,7 @@ igt_main
 		}
 	}
 
-	do_tests("GT", "gt", ctx);
+	do_tests(sysfs_fd, "GT", "gt", ctx);
 
 	igt_fixture {
 		igt_disallow_hang(device, hang);
@@ -573,7 +573,7 @@ igt_main
 		hang = igt_allow_hang(device, ctx->id, HANG_ALLOW_CAPTURE | HANG_WANT_ENGINE_RESET);
 	}
 
-	do_tests("engine", "engine", ctx);
+	do_tests(sysfs_fd, "engine", "engine", ctx);
 
 	igt_fixture {
 		int i;
-- 
2.37.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [igt-dev] [PATCH i-g-t 2/3] tests/i915_hangman: make device var local
  2023-04-20 18:24 [igt-dev] [PATCH i-g-t 0/3] Add multi-gpu basic error state subtest Kamil Konieczny
  2023-04-20 18:24 ` [igt-dev] [PATCH i-g-t 1/3] tests/i915_hangman: make sysfs var local Kamil Konieczny
@ 2023-04-20 18:24 ` Kamil Konieczny
  2023-04-27 15:04   ` Mauro Carvalho Chehab
  2023-04-20 18:24 ` [igt-dev] [PATCH i-g-t 3/3] tests/i915_hangman: add multigpu basic error state subtest Kamil Konieczny
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Kamil Konieczny @ 2023-04-20 18:24 UTC (permalink / raw)
  To: igt-dev

Global device variable make it hard to use with multiGPU tests,
so make it local.

Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
---
 tests/i915/i915_hangman.c | 71 ++++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 35 deletions(-)

diff --git a/tests/i915/i915_hangman.c b/tests/i915/i915_hangman.c
index 274a0ede1..d76d0a037 100644
--- a/tests/i915/i915_hangman.c
+++ b/tests/i915/i915_hangman.c
@@ -45,8 +45,6 @@
 #define I915_PARAM_CMD_PARSER_VERSION       28
 #endif
 
-static int device = -1;
-
 #define OFFSET_ALIVE	10
 
 IGT_TEST_DESCRIPTION("Tests for hang detection and recovery");
@@ -146,7 +144,7 @@ static void clear_error_state(int sysfs)
 	igt_sysfs_write(sysfs, "error", "", 1);
 }
 
-static void test_error_state_basic(int i915, int sysfs)
+static void test_error_state_basic(int device, int sysfs)
 {
 	int fd;
 
@@ -175,7 +173,7 @@ static FILE *open_error(int sysfs)
 	return fdopen(fd, "r");
 }
 
-static bool uses_cmd_parser(void)
+static bool uses_cmd_parser(int device)
 {
 	int parser_version = 0;
 	drm_i915_getparam_t gp;
@@ -187,11 +185,12 @@ static bool uses_cmd_parser(void)
 	return parser_version > 0;
 }
 
-static void check_error_state(int sysfs, const char *expected_ring_name,
+static void check_error_state(int device, int sysfs,
+			      const char *expected_ring_name,
 			      uint64_t expected_offset,
 			      const uint32_t *batch)
 {
-	bool cmd_parser = uses_cmd_parser();
+	bool cmd_parser = uses_cmd_parser(device);
 	FILE *file = open_error(sysfs);
 	char *line = NULL;
 	size_t line_size = 0;
@@ -258,7 +257,8 @@ static void check_error_state(int sysfs, const char *expected_ring_name,
 	igt_assert(found);
 }
 
-static void test_error_state_capture(int sysfs, const intel_ctx_t *ctx,
+static void test_error_state_capture(int device, int sysfs,
+				     const intel_ctx_t *ctx,
 				     const struct intel_execution_engine2 *e)
 {
 	uint32_t *batch;
@@ -277,7 +277,7 @@ static void test_error_state_capture(int sysfs, const intel_ctx_t *ctx,
 
 	igt_post_hang_ring(device, hang);
 
-	check_error_state(sysfs, e->name, offset, batch);
+	check_error_state(device, sysfs, e->name, offset, batch);
 	munmap(batch, 4096);
 	put_ahnd(ahnd);
 
@@ -310,7 +310,7 @@ static void chk_err(int *dst, int err, int expected)
 #define ERR_FENCE_STAT 4
 
 static void
-test_engine_hang(const intel_ctx_t *ctx,
+test_engine_hang(int device, const intel_ctx_t *ctx,
 		 const struct intel_execution_engine2 *e, unsigned int flags)
 {
 	const struct intel_execution_engine2 *other;
@@ -392,7 +392,7 @@ static void sig_io(int sig)
 	hang_count++;
 }
 
-static void test_hang_detector(const intel_ctx_t *ctx,
+static void test_hang_detector(int device, const intel_ctx_t *ctx,
 			       const struct intel_execution_engine2 *e)
 {
 	igt_hang_t hang;
@@ -425,7 +425,7 @@ static void test_hang_detector(const intel_ctx_t *ctx,
  * case and it takes a lot more time to wrap, so the acthd can potentially keep
  * increasing for a long time
  */
-static void hangcheck_unterminated(const intel_ctx_t *ctx)
+static void hangcheck_unterminated(int device, const intel_ctx_t *ctx)
 {
 	/* timeout needs to be greater than ~5*hangcheck */
 	int64_t timeout_ns = 100ull * NSEC_PER_SEC; /* 100 seconds */
@@ -456,7 +456,7 @@ static void hangcheck_unterminated(const intel_ctx_t *ctx)
 	check_alive();
 }
 
-static void do_tests(int sysfs, const char *name, const char *prefix,
+static void do_tests(int device, int sysfs, const char *name, const char *prefix,
 		     const intel_ctx_t *ctx)
 {
 	const struct intel_execution_engine2 *e;
@@ -468,7 +468,7 @@ static void do_tests(int sysfs, const char *name, const char *prefix,
 	igt_subtest_with_dynamic(buff) {
 		for_each_ctx_engine(device, ctx, e) {
 			igt_dynamic_f("%s", e->name)
-				test_error_state_capture(sysfs, ctx, e);
+				test_error_state_capture(device, sysfs, ctx, e);
 		}
 	}
 
@@ -489,7 +489,7 @@ static void do_tests(int sysfs, const char *name, const char *prefix,
 
 		for_each_ctx_engine(device, ctx, e) {
 			igt_dynamic_f("%s", e->name)
-				test_engine_hang(ctx, e, 0);
+				test_engine_hang(device, ctx, e, 0);
 		}
 	}
 
@@ -509,7 +509,7 @@ static void do_tests(int sysfs, const char *name, const char *prefix,
 
 		for_each_ctx_engine(device, ctx, e) {
 			igt_dynamic_f("%s", e->name)
-				test_engine_hang(ctx, e, IGT_SPIN_INVALID_CS);
+				test_engine_hang(device, ctx, e, IGT_SPIN_INVALID_CS);
 		}
 	}
 }
@@ -521,68 +521,69 @@ igt_main
 	struct gem_engine_properties saved_params[GEM_MAX_ENGINES];
 	int num_engines = 0;
 	int sysfs_fd = -1;
+	int i915 = -1;
 
 	igt_fixture {
 		const struct intel_execution_engine2 *e;
 
-		device = drm_open_driver(DRIVER_INTEL);
-		igt_require_gem(device);
+		i915 = drm_open_driver(DRIVER_INTEL);
+		igt_require_gem(i915);
 
-		ctx = intel_ctx_create_all_physical(device);
+		ctx = intel_ctx_create_all_physical(i915);
 
-		hang = igt_allow_hang(device, ctx->id, HANG_ALLOW_CAPTURE);
+		hang = igt_allow_hang(i915, ctx->id, HANG_ALLOW_CAPTURE);
 
-		sysfs_fd = igt_sysfs_open(device);
+		sysfs_fd = igt_sysfs_open(i915);
 		igt_assert(sysfs_fd != -1);
 
 		igt_require(has_error_state(sysfs_fd));
 
-		gem_require_mmap_device_coherent(device);
+		gem_require_mmap_device_coherent(i915);
 
-		for_each_physical_engine(device, e) {
+		for_each_physical_engine(i915, e) {
 			saved_params[num_engines].engine = e;
 			saved_params[num_engines].preempt_timeout = 500;
 			saved_params[num_engines].heartbeat_interval = 1000;
-			gem_engine_properties_configure(device, saved_params + num_engines++);
+			gem_engine_properties_configure(i915, saved_params + num_engines++);
 		}
 	}
 
 	igt_describe("Basic error capture");
 	igt_subtest("error-state-basic")
-		test_error_state_basic(sysfs_fd, device);
+		test_error_state_basic(i915, sysfs_fd);
 
 	igt_describe("Check that executing unintialised memory causes a hang");
 	igt_subtest("hangcheck-unterminated")
-		hangcheck_unterminated(ctx);
+		hangcheck_unterminated(i915, ctx);
 
 	igt_describe("Check that hang detector works");
 	igt_subtest_with_dynamic("detector") {
 		const struct intel_execution_engine2 *e;
 
-		for_each_ctx_engine(device, ctx, e) {
+		for_each_ctx_engine(i915, ctx, e) {
 			igt_dynamic_f("%s", e->name)
-				test_hang_detector(ctx, e);
+				test_hang_detector(i915, ctx, e);
 		}
 	}
 
-	do_tests(sysfs_fd, "GT", "gt", ctx);
+	do_tests(i915, sysfs_fd, "GT", "gt", ctx);
 
 	igt_fixture {
-		igt_disallow_hang(device, hang);
+		igt_disallow_hang(i915, hang);
 
-		hang = igt_allow_hang(device, ctx->id, HANG_ALLOW_CAPTURE | HANG_WANT_ENGINE_RESET);
+		hang = igt_allow_hang(i915, ctx->id, HANG_ALLOW_CAPTURE | HANG_WANT_ENGINE_RESET);
 	}
 
-	do_tests(sysfs_fd, "engine", "engine", ctx);
+	do_tests(i915, sysfs_fd, "engine", "engine", ctx);
 
 	igt_fixture {
 		int i;
 
 		for (i = 0; i < num_engines; i++)
-			gem_engine_properties_restore(device, saved_params + i);
+			gem_engine_properties_restore(i915, saved_params + i);
 
-		igt_disallow_hang(device, hang);
-		intel_ctx_destroy(device, ctx);
-		close(device);
+		igt_disallow_hang(i915, hang);
+		intel_ctx_destroy(i915, ctx);
+		close(i915);
 	}
 }
-- 
2.37.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [igt-dev] [PATCH i-g-t 3/3] tests/i915_hangman: add multigpu basic error state subtest
  2023-04-20 18:24 [igt-dev] [PATCH i-g-t 0/3] Add multi-gpu basic error state subtest Kamil Konieczny
  2023-04-20 18:24 ` [igt-dev] [PATCH i-g-t 1/3] tests/i915_hangman: make sysfs var local Kamil Konieczny
  2023-04-20 18:24 ` [igt-dev] [PATCH i-g-t 2/3] tests/i915_hangman: make device " Kamil Konieczny
@ 2023-04-20 18:24 ` Kamil Konieczny
  2023-04-27 15:09   ` Mauro Carvalho Chehab
  2023-04-20 19:13 ` [igt-dev] ✓ Fi.CI.BAT: success for Add multi-gpu " Patchwork
  2023-04-21  2:49 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  4 siblings, 1 reply; 9+ messages in thread
From: Kamil Konieczny @ 2023-04-20 18:24 UTC (permalink / raw)
  To: igt-dev

Verify that basic error capture works in multiGPU hardware
configuration for two or more GPUs.

Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
---
 tests/i915/i915_hangman.c | 63 ++++++++++++++++++++++++++++++++++-----
 1 file changed, 55 insertions(+), 8 deletions(-)

diff --git a/tests/i915/i915_hangman.c b/tests/i915/i915_hangman.c
index d76d0a037..580b3a739 100644
--- a/tests/i915/i915_hangman.c
+++ b/tests/i915/i915_hangman.c
@@ -39,6 +39,7 @@
 #include "igt_store.h"
 #include "igt_sysfs.h"
 #include "igt_debugfs.h"
+#include "igt_device_scan.h"
 #include "sw_sync.h"
 
 #ifndef I915_PARAM_CMD_PARSER_VERSION
@@ -514,6 +515,21 @@ static void do_tests(int device, int sysfs, const char *name, const char *prefix
 	}
 }
 
+static int set_engines_prop(int device, struct gem_engine_properties *params)
+{
+	const struct intel_execution_engine2 *e;
+	int num = 0;
+
+	for_each_physical_engine(device, e) {
+		params[num].engine = e;
+		params[num].preempt_timeout = 500;
+		params[num].heartbeat_interval = 1000;
+		gem_engine_properties_configure(device, params + num++);
+	}
+
+	return num;
+}
+
 igt_main
 {
 	const intel_ctx_t *ctx;
@@ -522,10 +538,9 @@ igt_main
 	int num_engines = 0;
 	int sysfs_fd = -1;
 	int i915 = -1;
+	int gpu_count;
 
 	igt_fixture {
-		const struct intel_execution_engine2 *e;
-
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(i915);
 
@@ -540,12 +555,8 @@ igt_main
 
 		gem_require_mmap_device_coherent(i915);
 
-		for_each_physical_engine(i915, e) {
-			saved_params[num_engines].engine = e;
-			saved_params[num_engines].preempt_timeout = 500;
-			saved_params[num_engines].heartbeat_interval = 1000;
-			gem_engine_properties_configure(i915, saved_params + num_engines++);
-		}
+		num_engines = set_engines_prop(i915, &saved_params[0]);
+		gpu_count = igt_device_filter_count();
 	}
 
 	igt_describe("Basic error capture");
@@ -576,6 +587,42 @@ igt_main
 
 	do_tests(i915, sysfs_fd, "engine", "engine", ctx);
 
+	igt_describe("Basic multigpu error capture");
+	igt_subtest("multigpu-error-basic") {
+		igt_require(gpu_count > 1);
+
+		igt_multi_fork(child, gpu_count) {
+			int gpu_fd, gpu_sysfs;
+
+			if (child)
+				gpu_fd = __drm_open_driver_another(child, DRIVER_INTEL);
+			else
+				gpu_fd = gem_reopen_driver(i915);
+
+			igt_assert(gpu_fd > 0);
+			igt_require_gem(gpu_fd);
+			ctx = intel_ctx_create_all_physical(gpu_fd);
+			hang = igt_allow_hang(gpu_fd, ctx->id, HANG_ALLOW_CAPTURE | HANG_WANT_ENGINE_RESET);
+			gpu_sysfs = igt_sysfs_open(gpu_fd);
+			igt_assert(gpu_sysfs != -1);
+			igt_require(has_error_state(gpu_sysfs));
+			gem_require_mmap_device_coherent(gpu_sysfs);
+			num_engines = set_engines_prop(gpu_fd, &saved_params[0]);
+
+			test_error_state_basic(gpu_fd, gpu_sysfs);
+
+			igt_disallow_hang(gpu_fd, hang);
+			intel_ctx_destroy(gpu_fd, ctx);
+			if (child)
+				for (int i = 0; i < num_engines; i++)
+					gem_engine_properties_restore(i915, saved_params + i);
+			close(gpu_fd);
+			close(gpu_sysfs);
+		}
+
+		igt_waitchildren();
+	}
+
 	igt_fixture {
 		int i;
 
-- 
2.37.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for Add multi-gpu basic error state subtest
  2023-04-20 18:24 [igt-dev] [PATCH i-g-t 0/3] Add multi-gpu basic error state subtest Kamil Konieczny
                   ` (2 preceding siblings ...)
  2023-04-20 18:24 ` [igt-dev] [PATCH i-g-t 3/3] tests/i915_hangman: add multigpu basic error state subtest Kamil Konieczny
@ 2023-04-20 19:13 ` Patchwork
  2023-04-21  2:49 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2023-04-20 19:13 UTC (permalink / raw)
  To: Kamil Konieczny; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 4896 bytes --]

== Series Details ==

Series: Add multi-gpu basic error state subtest
URL   : https://patchwork.freedesktop.org/series/116775/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13034 -> IGTPW_8833
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/index.html

Participating hosts (37 -> 37)
------------------------------

  Additional (1): fi-kbl-soraka 
  Missing    (1): fi-snb-2520m 

Known issues
------------

  Here are the changes found in IGTPW_8833 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_huc_copy@huc-copy:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][1] ([fdo#109271] / [i915#2190])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@basic:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][2] ([fdo#109271] / [i915#4613]) +3 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/fi-kbl-soraka/igt@gem_lmem_swapping@basic.html

  * igt@i915_selftest@live@execlists:
    - fi-kbl-soraka:      NOTRUN -> [INCOMPLETE][3] ([i915#7156] / [i915#7913])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/fi-kbl-soraka/igt@i915_selftest@live@execlists.html

  * igt@i915_selftest@live@gt_pm:
    - fi-kbl-soraka:      NOTRUN -> [DMESG-FAIL][4] ([i915#1886])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html

  * igt@i915_selftest@live@migrate:
    - bat-adlp-6:         [PASS][5] -> [DMESG-FAIL][6] ([i915#7699])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/bat-adlp-6/igt@i915_selftest@live@migrate.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/bat-adlp-6/igt@i915_selftest@live@migrate.html

  * igt@i915_selftest@live@requests:
    - bat-rpls-1:         [PASS][7] -> [ABORT][8] ([i915#4983] / [i915#7911])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/bat-rpls-1/igt@i915_selftest@live@requests.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/bat-rpls-1/igt@i915_selftest@live@requests.html

  * igt@kms_chamelium_frames@hdmi-crc-fast:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][9] ([fdo#109271]) +16 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/fi-kbl-soraka/igt@kms_chamelium_frames@hdmi-crc-fast.html

  * igt@kms_chamelium_hpd@common-hpd-after-suspend:
    - bat-adlp-6:         NOTRUN -> [SKIP][10] ([i915#7828])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/bat-adlp-6/igt@kms_chamelium_hpd@common-hpd-after-suspend.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1:
    - bat-dg2-8:          [PASS][11] -> [FAIL][12] ([i915#7932])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1.html

  
#### Possible fixes ####

  * igt@i915_suspend@basic-s3-without-i915:
    - bat-adlp-6:         [INCOMPLETE][13] ([i915#7443]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/bat-adlp-6/igt@i915_suspend@basic-s3-without-i915.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/bat-adlp-6/igt@i915_suspend@basic-s3-without-i915.html

  
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#7156]: https://gitlab.freedesktop.org/drm/intel/issues/7156
  [i915#7443]: https://gitlab.freedesktop.org/drm/intel/issues/7443
  [i915#7699]: https://gitlab.freedesktop.org/drm/intel/issues/7699
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7911]: https://gitlab.freedesktop.org/drm/intel/issues/7911
  [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
  [i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_7263 -> IGTPW_8833

  CI-20190529: 20190529
  CI_DRM_13034: bf6a3fbb5a6d7afbbaeb93043fd0001d6b83591b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8833: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/index.html
  IGT_7263: a6bd8f415c4ec41b5a014c7db47e46c81ffd0074 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git


Testlist changes
----------------

+igt@i915_hangman@multigpu-error-basic

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/index.html

[-- Attachment #2: Type: text/html, Size: 5856 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for Add multi-gpu basic error state subtest
  2023-04-20 18:24 [igt-dev] [PATCH i-g-t 0/3] Add multi-gpu basic error state subtest Kamil Konieczny
                   ` (3 preceding siblings ...)
  2023-04-20 19:13 ` [igt-dev] ✓ Fi.CI.BAT: success for Add multi-gpu " Patchwork
@ 2023-04-21  2:49 ` Patchwork
  4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2023-04-21  2:49 UTC (permalink / raw)
  To: Kamil Konieczny; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 14281 bytes --]

== Series Details ==

Series: Add multi-gpu basic error state subtest
URL   : https://patchwork.freedesktop.org/series/116775/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13034_full -> IGTPW_8833_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/index.html

Participating hosts (7 -> 7)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_8833_full:

### IGT changes ###

#### Possible regressions ####

  * {igt@i915_hangman@multigpu-error-basic} (NEW):
    - {shard-tglu}:       NOTRUN -> [SKIP][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-tglu-6/igt@i915_hangman@multigpu-error-basic.html
    - {shard-rkl}:        NOTRUN -> [SKIP][2]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-rkl-3/igt@i915_hangman@multigpu-error-basic.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@kms_flip@2x-flip-vs-fences:
    - {shard-dg1}:        NOTRUN -> [SKIP][3] +1 similar issue
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-dg1-17/igt@kms_flip@2x-flip-vs-fences.html

  
New tests
---------

  New tests have been introduced between CI_DRM_13034_full and IGTPW_8833_full:

### New IGT tests (1) ###

  * igt@i915_hangman@multigpu-error-basic:
    - Statuses : 5 skip(s)
    - Exec time: [0.0] s

  

Known issues
------------

  Here are the changes found in IGTPW_8833_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * {igt@i915_hangman@multigpu-error-basic} (NEW):
    - shard-snb:          NOTRUN -> [SKIP][4] ([fdo#109271]) +34 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-snb7/igt@i915_hangman@multigpu-error-basic.html
    - shard-apl:          NOTRUN -> [SKIP][5] ([fdo#109271])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-apl7/igt@i915_hangman@multigpu-error-basic.html
    - shard-glk:          NOTRUN -> [SKIP][6] ([fdo#109271])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-glk9/igt@i915_hangman@multigpu-error-basic.html

  * igt@kms_setmode@basic@pipe-a-vga-1:
    - shard-snb:          NOTRUN -> [FAIL][7] ([i915#5465]) +1 similar issue
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-snb6/igt@kms_setmode@basic@pipe-a-vga-1.html

  
#### Possible fixes ####

  * igt@gem_barrier_race@remote-request@rcs0:
    - {shard-rkl}:        [ABORT][8] ([i915#8211]) -> [PASS][9]
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-rkl-7/igt@gem_barrier_race@remote-request@rcs0.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-rkl-6/igt@gem_barrier_race@remote-request@rcs0.html

  * igt@gem_exec_endless@dispatch@rcs0:
    - {shard-tglu}:       [TIMEOUT][10] ([i915#3778]) -> [PASS][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-tglu-8/igt@gem_exec_endless@dispatch@rcs0.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-tglu-7/igt@gem_exec_endless@dispatch@rcs0.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-apl:          [FAIL][12] ([i915#2846]) -> [PASS][13]
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-apl4/igt@gem_exec_fair@basic-deadline.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-apl3/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - {shard-rkl}:        [FAIL][14] ([i915#2842]) -> [PASS][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-rkl-7/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-rkl-2/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@i915_pm_rpm@dpms-mode-unset-lpsp:
    - {shard-rkl}:        [SKIP][16] ([i915#1397]) -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-rkl-6/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-rkl-7/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@i915_pm_rpm@modeset-non-lpsp:
    - {shard-dg1}:        [SKIP][18] ([i915#1397]) -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-dg1-14/igt@i915_pm_rpm@modeset-non-lpsp.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-dg1-18/igt@i915_pm_rpm@modeset-non-lpsp.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-glk:          [FAIL][20] ([i915#2346]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-glk9/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-glk1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
    - shard-apl:          [FAIL][22] ([i915#2346]) -> [PASS][23]
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-apl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-apl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_cursor_legacy@forked-bo@pipe-b:
    - {shard-rkl}:        [INCOMPLETE][24] ([i915#8011]) -> [PASS][25]
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-rkl-7/igt@kms_cursor_legacy@forked-bo@pipe-b.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-rkl-2/igt@kms_cursor_legacy@forked-bo@pipe-b.html

  
#### Warnings ####

  * igt@i915_pm_dc@dc9-dpms:
    - shard-apl:          [FAIL][26] ([i915#4275]) -> [SKIP][27] ([fdo#109271])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13034/shard-apl3/igt@i915_pm_dc@dc9-dpms.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/shard-apl3/igt@i915_pm_dc@dc9-dpms.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
  [i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
  [i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
  [i915#3778]: https://gitlab.freedesktop.org/drm/intel/issues/3778
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3936]: https://gitlab.freedesktop.org/drm/intel/issues/3936
  [i915#3952]: https://gitlab.freedesktop.org/drm/intel/issues/3952
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4275]: https://gitlab.freedesktop.org/drm/intel/issues/4275
  [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
  [i915#4881]: https://gitlab.freedesktop.org/drm/intel/issues/4881
  [i915#5099]: https://gitlab.freedesktop.org/drm/intel/issues/5099
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5465]: https://gitlab.freedesktop.org/drm/intel/issues/5465
  [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
  [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
  [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6245]: https://gitlab.freedesktop.org/drm/intel/issues/6245
  [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
  [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
  [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7178]: https://gitlab.freedesktop.org/drm/intel/issues/7178
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
  [i915#8150]: https://gitlab.freedesktop.org/drm/intel/issues/8150
  [i915#8211]: https://gitlab.freedesktop.org/drm/intel/issues/8211


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_7263 -> IGTPW_8833
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_13034: bf6a3fbb5a6d7afbbaeb93043fd0001d6b83591b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8833: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/index.html
  IGT_7263: a6bd8f415c4ec41b5a014c7db47e46c81ffd0074 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8833/index.html

[-- Attachment #2: Type: text/html, Size: 8944 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 1/3] tests/i915_hangman: make sysfs var local
  2023-04-20 18:24 ` [igt-dev] [PATCH i-g-t 1/3] tests/i915_hangman: make sysfs var local Kamil Konieczny
@ 2023-04-27 15:01   ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 9+ messages in thread
From: Mauro Carvalho Chehab @ 2023-04-27 15:01 UTC (permalink / raw)
  To: Kamil Konieczny; +Cc: igt-dev

On Thu, 20 Apr 2023 20:24:38 +0200
Kamil Konieczny <kamil.konieczny@linux.intel.com> wrote:

> Global sysfs variable make it hard to use with multiGPU tests,
> so make it local.
> 
> Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

Reviewed-by: Mauro Carvalho Chehab <mchehab@kernel.org>

> ---
>  tests/i915/i915_hangman.c | 56 +++++++++++++++++++--------------------
>  1 file changed, 28 insertions(+), 28 deletions(-)
> 
> diff --git a/tests/i915/i915_hangman.c b/tests/i915/i915_hangman.c
> index 8acce8f1a..274a0ede1 100644
> --- a/tests/i915/i915_hangman.c
> +++ b/tests/i915/i915_hangman.c
> @@ -46,7 +46,6 @@
>  #endif
>  
>  static int device = -1;
> -static int sysfs = -1;
>  
>  #define OFFSET_ALIVE	10
>  
> @@ -118,7 +117,7 @@ static bool has_error_state(int dir)
>  	return result;
>  }
>  
> -static void assert_entry(const char *s, bool expect)
> +static void assert_entry(int sysfs, const char *s, bool expect)
>  {
>  	char *error;
>  
> @@ -132,40 +131,40 @@ static void assert_entry(const char *s, bool expect)
>  	free(error);
>  }
>  
> -static void assert_error_state_clear(void)
> +static void assert_error_state_clear(int sysfs)
>  {
> -	assert_entry("no error state collected", true);
> +	assert_entry(sysfs, "no error state collected", true);
>  }
>  
> -static void assert_error_state_collected(void)
> +static void assert_error_state_collected(int sysfs)
>  {
> -	assert_entry("no error state collected", false);
> +	assert_entry(sysfs, "no error state collected", false);
>  }
>  
> -static void clear_error_state(void)
> +static void clear_error_state(int sysfs)
>  {
>  	igt_sysfs_write(sysfs, "error", "", 1);
>  }
>  
> -static void test_error_state_basic(void)
> +static void test_error_state_basic(int i915, int sysfs)
>  {
>  	int fd;
>  
> -	clear_error_state();
> -	assert_error_state_clear();
> +	clear_error_state(sysfs);
> +	assert_error_state_clear(sysfs);
>  
>  	/* Manually trigger a hang by request a reset */
>  	fd = igt_debugfs_open(device, "i915_wedged", O_WRONLY);
>  	igt_ignore_warn(write(fd, "1\n", 2));
>  	close(fd);
>  
> -	assert_error_state_collected();
> +	assert_error_state_collected(sysfs);
>  
> -	clear_error_state();
> -	assert_error_state_clear();
> +	clear_error_state(sysfs);
> +	assert_error_state_clear(sysfs);
>  }
>  
> -static FILE *open_error(void)
> +static FILE *open_error(int sysfs)
>  {
>  	int fd;
>  
> @@ -188,12 +187,12 @@ static bool uses_cmd_parser(void)
>  	return parser_version > 0;
>  }
>  
> -static void check_error_state(const char *expected_ring_name,
> +static void check_error_state(int sysfs, const char *expected_ring_name,
>  			      uint64_t expected_offset,
>  			      const uint32_t *batch)
>  {
>  	bool cmd_parser = uses_cmd_parser();
> -	FILE *file = open_error();
> +	FILE *file = open_error(sysfs);
>  	char *line = NULL;
>  	size_t line_size = 0;
>  	bool found = false;
> @@ -254,12 +253,12 @@ static void check_error_state(const char *expected_ring_name,
>  	free(line);
>  	fclose(file);
>  
> -	clear_error_state();
> +	clear_error_state(sysfs);
>  
>  	igt_assert(found);
>  }
>  
> -static void test_error_state_capture(const intel_ctx_t *ctx,
> +static void test_error_state_capture(int sysfs, const intel_ctx_t *ctx,
>  				     const struct intel_execution_engine2 *e)
>  {
>  	uint32_t *batch;
> @@ -267,7 +266,7 @@ static void test_error_state_capture(const intel_ctx_t *ctx,
>  	uint64_t offset;
>  	uint64_t ahnd = get_reloc_ahnd(device, ctx->id);
>  
> -	clear_error_state();
> +	clear_error_state(sysfs);
>  
>  	hang = igt_hang_ctx_with_ahnd(device, ahnd, ctx->id, e->flags,
>  				      HANG_ALLOW_CAPTURE);
> @@ -278,7 +277,7 @@ static void test_error_state_capture(const intel_ctx_t *ctx,
>  
>  	igt_post_hang_ring(device, hang);
>  
> -	check_error_state(e->name, offset, batch);
> +	check_error_state(sysfs, e->name, offset, batch);
>  	munmap(batch, 4096);
>  	put_ahnd(ahnd);
>  
> @@ -457,7 +456,7 @@ static void hangcheck_unterminated(const intel_ctx_t *ctx)
>  	check_alive();
>  }
>  
> -static void do_tests(const char *name, const char *prefix,
> +static void do_tests(int sysfs, const char *name, const char *prefix,
>  		     const intel_ctx_t *ctx)
>  {
>  	const struct intel_execution_engine2 *e;
> @@ -469,7 +468,7 @@ static void do_tests(const char *name, const char *prefix,
>  	igt_subtest_with_dynamic(buff) {
>  		for_each_ctx_engine(device, ctx, e) {
>  			igt_dynamic_f("%s", e->name)
> -				test_error_state_capture(ctx, e);
> +				test_error_state_capture(sysfs, ctx, e);
>  		}
>  	}
>  
> @@ -521,6 +520,7 @@ igt_main
>  	igt_hang_t hang = {};
>  	struct gem_engine_properties saved_params[GEM_MAX_ENGINES];
>  	int num_engines = 0;
> +	int sysfs_fd = -1;
>  
>  	igt_fixture {
>  		const struct intel_execution_engine2 *e;
> @@ -532,10 +532,10 @@ igt_main
>  
>  		hang = igt_allow_hang(device, ctx->id, HANG_ALLOW_CAPTURE);
>  
> -		sysfs = igt_sysfs_open(device);
> -		igt_assert(sysfs != -1);
> +		sysfs_fd = igt_sysfs_open(device);
> +		igt_assert(sysfs_fd != -1);
>  
> -		igt_require(has_error_state(sysfs));
> +		igt_require(has_error_state(sysfs_fd));
>  
>  		gem_require_mmap_device_coherent(device);
>  
> @@ -549,7 +549,7 @@ igt_main
>  
>  	igt_describe("Basic error capture");
>  	igt_subtest("error-state-basic")
> -		test_error_state_basic();
> +		test_error_state_basic(sysfs_fd, device);
>  
>  	igt_describe("Check that executing unintialised memory causes a hang");
>  	igt_subtest("hangcheck-unterminated")
> @@ -565,7 +565,7 @@ igt_main
>  		}
>  	}
>  
> -	do_tests("GT", "gt", ctx);
> +	do_tests(sysfs_fd, "GT", "gt", ctx);
>  
>  	igt_fixture {
>  		igt_disallow_hang(device, hang);
> @@ -573,7 +573,7 @@ igt_main
>  		hang = igt_allow_hang(device, ctx->id, HANG_ALLOW_CAPTURE | HANG_WANT_ENGINE_RESET);
>  	}
>  
> -	do_tests("engine", "engine", ctx);
> +	do_tests(sysfs_fd, "engine", "engine", ctx);
>  
>  	igt_fixture {
>  		int i;

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 2/3] tests/i915_hangman: make device var local
  2023-04-20 18:24 ` [igt-dev] [PATCH i-g-t 2/3] tests/i915_hangman: make device " Kamil Konieczny
@ 2023-04-27 15:04   ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 9+ messages in thread
From: Mauro Carvalho Chehab @ 2023-04-27 15:04 UTC (permalink / raw)
  To: Kamil Konieczny; +Cc: igt-dev

On Thu, 20 Apr 2023 20:24:39 +0200
Kamil Konieczny <kamil.konieczny@linux.intel.com> wrote:

> Global device variable make it hard to use with multiGPU tests,
> so make it local.
> 
> Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Reviewed-by: Mauro Carvalho Chehab <mchehab@kernel.org>

> ---
>  tests/i915/i915_hangman.c | 71 ++++++++++++++++++++-------------------
>  1 file changed, 36 insertions(+), 35 deletions(-)
> 
> diff --git a/tests/i915/i915_hangman.c b/tests/i915/i915_hangman.c
> index 274a0ede1..d76d0a037 100644
> --- a/tests/i915/i915_hangman.c
> +++ b/tests/i915/i915_hangman.c
> @@ -45,8 +45,6 @@
>  #define I915_PARAM_CMD_PARSER_VERSION       28
>  #endif
>  
> -static int device = -1;
> -
>  #define OFFSET_ALIVE	10
>  
>  IGT_TEST_DESCRIPTION("Tests for hang detection and recovery");
> @@ -146,7 +144,7 @@ static void clear_error_state(int sysfs)
>  	igt_sysfs_write(sysfs, "error", "", 1);
>  }
>  
> -static void test_error_state_basic(int i915, int sysfs)
> +static void test_error_state_basic(int device, int sysfs)
>  {
>  	int fd;
>  
> @@ -175,7 +173,7 @@ static FILE *open_error(int sysfs)
>  	return fdopen(fd, "r");
>  }
>  
> -static bool uses_cmd_parser(void)
> +static bool uses_cmd_parser(int device)
>  {
>  	int parser_version = 0;
>  	drm_i915_getparam_t gp;
> @@ -187,11 +185,12 @@ static bool uses_cmd_parser(void)
>  	return parser_version > 0;
>  }
>  
> -static void check_error_state(int sysfs, const char *expected_ring_name,
> +static void check_error_state(int device, int sysfs,
> +			      const char *expected_ring_name,
>  			      uint64_t expected_offset,
>  			      const uint32_t *batch)
>  {
> -	bool cmd_parser = uses_cmd_parser();
> +	bool cmd_parser = uses_cmd_parser(device);
>  	FILE *file = open_error(sysfs);
>  	char *line = NULL;
>  	size_t line_size = 0;
> @@ -258,7 +257,8 @@ static void check_error_state(int sysfs, const char *expected_ring_name,
>  	igt_assert(found);
>  }
>  
> -static void test_error_state_capture(int sysfs, const intel_ctx_t *ctx,
> +static void test_error_state_capture(int device, int sysfs,
> +				     const intel_ctx_t *ctx,
>  				     const struct intel_execution_engine2 *e)
>  {
>  	uint32_t *batch;
> @@ -277,7 +277,7 @@ static void test_error_state_capture(int sysfs, const intel_ctx_t *ctx,
>  
>  	igt_post_hang_ring(device, hang);
>  
> -	check_error_state(sysfs, e->name, offset, batch);
> +	check_error_state(device, sysfs, e->name, offset, batch);
>  	munmap(batch, 4096);
>  	put_ahnd(ahnd);
>  
> @@ -310,7 +310,7 @@ static void chk_err(int *dst, int err, int expected)
>  #define ERR_FENCE_STAT 4
>  
>  static void
> -test_engine_hang(const intel_ctx_t *ctx,
> +test_engine_hang(int device, const intel_ctx_t *ctx,
>  		 const struct intel_execution_engine2 *e, unsigned int flags)
>  {
>  	const struct intel_execution_engine2 *other;
> @@ -392,7 +392,7 @@ static void sig_io(int sig)
>  	hang_count++;
>  }
>  
> -static void test_hang_detector(const intel_ctx_t *ctx,
> +static void test_hang_detector(int device, const intel_ctx_t *ctx,
>  			       const struct intel_execution_engine2 *e)
>  {
>  	igt_hang_t hang;
> @@ -425,7 +425,7 @@ static void test_hang_detector(const intel_ctx_t *ctx,
>   * case and it takes a lot more time to wrap, so the acthd can potentially keep
>   * increasing for a long time
>   */
> -static void hangcheck_unterminated(const intel_ctx_t *ctx)
> +static void hangcheck_unterminated(int device, const intel_ctx_t *ctx)
>  {
>  	/* timeout needs to be greater than ~5*hangcheck */
>  	int64_t timeout_ns = 100ull * NSEC_PER_SEC; /* 100 seconds */
> @@ -456,7 +456,7 @@ static void hangcheck_unterminated(const intel_ctx_t *ctx)
>  	check_alive();
>  }
>  
> -static void do_tests(int sysfs, const char *name, const char *prefix,
> +static void do_tests(int device, int sysfs, const char *name, const char *prefix,
>  		     const intel_ctx_t *ctx)
>  {
>  	const struct intel_execution_engine2 *e;
> @@ -468,7 +468,7 @@ static void do_tests(int sysfs, const char *name, const char *prefix,
>  	igt_subtest_with_dynamic(buff) {
>  		for_each_ctx_engine(device, ctx, e) {
>  			igt_dynamic_f("%s", e->name)
> -				test_error_state_capture(sysfs, ctx, e);
> +				test_error_state_capture(device, sysfs, ctx, e);
>  		}
>  	}
>  
> @@ -489,7 +489,7 @@ static void do_tests(int sysfs, const char *name, const char *prefix,
>  
>  		for_each_ctx_engine(device, ctx, e) {
>  			igt_dynamic_f("%s", e->name)
> -				test_engine_hang(ctx, e, 0);
> +				test_engine_hang(device, ctx, e, 0);
>  		}
>  	}
>  
> @@ -509,7 +509,7 @@ static void do_tests(int sysfs, const char *name, const char *prefix,
>  
>  		for_each_ctx_engine(device, ctx, e) {
>  			igt_dynamic_f("%s", e->name)
> -				test_engine_hang(ctx, e, IGT_SPIN_INVALID_CS);
> +				test_engine_hang(device, ctx, e, IGT_SPIN_INVALID_CS);
>  		}
>  	}
>  }
> @@ -521,68 +521,69 @@ igt_main
>  	struct gem_engine_properties saved_params[GEM_MAX_ENGINES];
>  	int num_engines = 0;
>  	int sysfs_fd = -1;
> +	int i915 = -1;
>  
>  	igt_fixture {
>  		const struct intel_execution_engine2 *e;
>  
> -		device = drm_open_driver(DRIVER_INTEL);
> -		igt_require_gem(device);
> +		i915 = drm_open_driver(DRIVER_INTEL);
> +		igt_require_gem(i915);
>  
> -		ctx = intel_ctx_create_all_physical(device);
> +		ctx = intel_ctx_create_all_physical(i915);
>  
> -		hang = igt_allow_hang(device, ctx->id, HANG_ALLOW_CAPTURE);
> +		hang = igt_allow_hang(i915, ctx->id, HANG_ALLOW_CAPTURE);
>  
> -		sysfs_fd = igt_sysfs_open(device);
> +		sysfs_fd = igt_sysfs_open(i915);
>  		igt_assert(sysfs_fd != -1);
>  
>  		igt_require(has_error_state(sysfs_fd));
>  
> -		gem_require_mmap_device_coherent(device);
> +		gem_require_mmap_device_coherent(i915);
>  
> -		for_each_physical_engine(device, e) {
> +		for_each_physical_engine(i915, e) {
>  			saved_params[num_engines].engine = e;
>  			saved_params[num_engines].preempt_timeout = 500;
>  			saved_params[num_engines].heartbeat_interval = 1000;
> -			gem_engine_properties_configure(device, saved_params + num_engines++);
> +			gem_engine_properties_configure(i915, saved_params + num_engines++);
>  		}
>  	}
>  
>  	igt_describe("Basic error capture");
>  	igt_subtest("error-state-basic")
> -		test_error_state_basic(sysfs_fd, device);
> +		test_error_state_basic(i915, sysfs_fd);
>  
>  	igt_describe("Check that executing unintialised memory causes a hang");
>  	igt_subtest("hangcheck-unterminated")
> -		hangcheck_unterminated(ctx);
> +		hangcheck_unterminated(i915, ctx);
>  
>  	igt_describe("Check that hang detector works");
>  	igt_subtest_with_dynamic("detector") {
>  		const struct intel_execution_engine2 *e;
>  
> -		for_each_ctx_engine(device, ctx, e) {
> +		for_each_ctx_engine(i915, ctx, e) {
>  			igt_dynamic_f("%s", e->name)
> -				test_hang_detector(ctx, e);
> +				test_hang_detector(i915, ctx, e);
>  		}
>  	}
>  
> -	do_tests(sysfs_fd, "GT", "gt", ctx);
> +	do_tests(i915, sysfs_fd, "GT", "gt", ctx);
>  
>  	igt_fixture {
> -		igt_disallow_hang(device, hang);
> +		igt_disallow_hang(i915, hang);
>  
> -		hang = igt_allow_hang(device, ctx->id, HANG_ALLOW_CAPTURE | HANG_WANT_ENGINE_RESET);
> +		hang = igt_allow_hang(i915, ctx->id, HANG_ALLOW_CAPTURE | HANG_WANT_ENGINE_RESET);
>  	}
>  
> -	do_tests(sysfs_fd, "engine", "engine", ctx);
> +	do_tests(i915, sysfs_fd, "engine", "engine", ctx);
>  
>  	igt_fixture {
>  		int i;
>  
>  		for (i = 0; i < num_engines; i++)
> -			gem_engine_properties_restore(device, saved_params + i);
> +			gem_engine_properties_restore(i915, saved_params + i);
>  
> -		igt_disallow_hang(device, hang);
> -		intel_ctx_destroy(device, ctx);
> -		close(device);
> +		igt_disallow_hang(i915, hang);
> +		intel_ctx_destroy(i915, ctx);
> +		close(i915);
>  	}
>  }

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 3/3] tests/i915_hangman: add multigpu basic error state subtest
  2023-04-20 18:24 ` [igt-dev] [PATCH i-g-t 3/3] tests/i915_hangman: add multigpu basic error state subtest Kamil Konieczny
@ 2023-04-27 15:09   ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 9+ messages in thread
From: Mauro Carvalho Chehab @ 2023-04-27 15:09 UTC (permalink / raw)
  To: Kamil Konieczny; +Cc: igt-dev

On Thu, 20 Apr 2023 20:24:40 +0200
Kamil Konieczny <kamil.konieczny@linux.intel.com> wrote:

> Verify that basic error capture works in multiGPU hardware
> configuration for two or more GPUs.
> 
> Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

LGTM.

Reviewed-by: Mauro Carvalho Chehab <mchehab@kernel.org>
> ---
>  tests/i915/i915_hangman.c | 63 ++++++++++++++++++++++++++++++++++-----
>  1 file changed, 55 insertions(+), 8 deletions(-)
> 
> diff --git a/tests/i915/i915_hangman.c b/tests/i915/i915_hangman.c
> index d76d0a037..580b3a739 100644
> --- a/tests/i915/i915_hangman.c
> +++ b/tests/i915/i915_hangman.c
> @@ -39,6 +39,7 @@
>  #include "igt_store.h"
>  #include "igt_sysfs.h"
>  #include "igt_debugfs.h"
> +#include "igt_device_scan.h"
>  #include "sw_sync.h"
>  
>  #ifndef I915_PARAM_CMD_PARSER_VERSION
> @@ -514,6 +515,21 @@ static void do_tests(int device, int sysfs, const char *name, const char *prefix
>  	}
>  }
>  
> +static int set_engines_prop(int device, struct gem_engine_properties *params)
> +{
> +	const struct intel_execution_engine2 *e;
> +	int num = 0;
> +
> +	for_each_physical_engine(device, e) {
> +		params[num].engine = e;
> +		params[num].preempt_timeout = 500;
> +		params[num].heartbeat_interval = 1000;
> +		gem_engine_properties_configure(device, params + num++);
> +	}
> +
> +	return num;
> +}
> +
>  igt_main
>  {
>  	const intel_ctx_t *ctx;
> @@ -522,10 +538,9 @@ igt_main
>  	int num_engines = 0;
>  	int sysfs_fd = -1;
>  	int i915 = -1;
> +	int gpu_count;
>  
>  	igt_fixture {
> -		const struct intel_execution_engine2 *e;
> -
>  		i915 = drm_open_driver(DRIVER_INTEL);
>  		igt_require_gem(i915);
>  
> @@ -540,12 +555,8 @@ igt_main
>  
>  		gem_require_mmap_device_coherent(i915);
>  
> -		for_each_physical_engine(i915, e) {
> -			saved_params[num_engines].engine = e;
> -			saved_params[num_engines].preempt_timeout = 500;
> -			saved_params[num_engines].heartbeat_interval = 1000;
> -			gem_engine_properties_configure(i915, saved_params + num_engines++);
> -		}
> +		num_engines = set_engines_prop(i915, &saved_params[0]);
> +		gpu_count = igt_device_filter_count();
>  	}
>  
>  	igt_describe("Basic error capture");
> @@ -576,6 +587,42 @@ igt_main
>  
>  	do_tests(i915, sysfs_fd, "engine", "engine", ctx);
>  
> +	igt_describe("Basic multigpu error capture");
> +	igt_subtest("multigpu-error-basic") {
> +		igt_require(gpu_count > 1);
> +
> +		igt_multi_fork(child, gpu_count) {
> +			int gpu_fd, gpu_sysfs;
> +
> +			if (child)
> +				gpu_fd = __drm_open_driver_another(child, DRIVER_INTEL);
> +			else
> +				gpu_fd = gem_reopen_driver(i915);
> +
> +			igt_assert(gpu_fd > 0);
> +			igt_require_gem(gpu_fd);
> +			ctx = intel_ctx_create_all_physical(gpu_fd);
> +			hang = igt_allow_hang(gpu_fd, ctx->id, HANG_ALLOW_CAPTURE | HANG_WANT_ENGINE_RESET);
> +			gpu_sysfs = igt_sysfs_open(gpu_fd);
> +			igt_assert(gpu_sysfs != -1);
> +			igt_require(has_error_state(gpu_sysfs));
> +			gem_require_mmap_device_coherent(gpu_sysfs);
> +			num_engines = set_engines_prop(gpu_fd, &saved_params[0]);
> +
> +			test_error_state_basic(gpu_fd, gpu_sysfs);
> +
> +			igt_disallow_hang(gpu_fd, hang);
> +			intel_ctx_destroy(gpu_fd, ctx);
> +			if (child)
> +				for (int i = 0; i < num_engines; i++)
> +					gem_engine_properties_restore(i915, saved_params + i);
> +			close(gpu_fd);
> +			close(gpu_sysfs);
> +		}
> +
> +		igt_waitchildren();
> +	}
> +
>  	igt_fixture {
>  		int i;
>  

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-04-27 15:09 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-20 18:24 [igt-dev] [PATCH i-g-t 0/3] Add multi-gpu basic error state subtest Kamil Konieczny
2023-04-20 18:24 ` [igt-dev] [PATCH i-g-t 1/3] tests/i915_hangman: make sysfs var local Kamil Konieczny
2023-04-27 15:01   ` Mauro Carvalho Chehab
2023-04-20 18:24 ` [igt-dev] [PATCH i-g-t 2/3] tests/i915_hangman: make device " Kamil Konieczny
2023-04-27 15:04   ` Mauro Carvalho Chehab
2023-04-20 18:24 ` [igt-dev] [PATCH i-g-t 3/3] tests/i915_hangman: add multigpu basic error state subtest Kamil Konieczny
2023-04-27 15:09   ` Mauro Carvalho Chehab
2023-04-20 19:13 ` [igt-dev] ✓ Fi.CI.BAT: success for Add multi-gpu " Patchwork
2023-04-21  2:49 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox