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