Re: [Intel-gfx] [PATCH v3 i-g-t 10/15] tests/i915/i915_hangman: Run background task on all engines
On Thu, Jan 13, 2022 at 11:59:42AM -0800, john.c.harri...@intel.com wrote: > From: John Harrison > > As opposed to only on the non-target engines. This means that there is > some other workload present for the scheduler to switch between and so > detet the hang immediately. > > Signed-off-by: John Harrison Reviewed-by: Matthew Brost > --- > tests/i915/i915_hangman.c | 10 ++ > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/tests/i915/i915_hangman.c b/tests/i915/i915_hangman.c > index 6601db5f6..9f7f8062c 100644 > --- a/tests/i915/i915_hangman.c > +++ b/tests/i915/i915_hangman.c > @@ -298,12 +298,14 @@ test_engine_hang(const intel_ctx_t *ctx, > igt_skip_on(flags & IGT_SPIN_INVALID_CS && > gem_engine_has_cmdparser(device, &ctx->cfg, e->flags)); > > - /* Fill all the other engines with background load */ > + /* > + * Fill all engines with background load. > + * This verifies that independent engines are unaffected and gives > + * the target engine something to switch between so it notices the > + * hang. > + */ > num_ctx = 0; > for_each_ctx_engine(device, ctx, other) { > - if (other->flags == e->flags) > - continue; > - > local_ctx[num_ctx] = intel_ctx_create(device, &ctx->cfg); > ahndN = get_reloc_ahnd(device, local_ctx[num_ctx]->id); > spin = __igt_spin_new(device, > -- > 2.25.1 >
[Intel-gfx] [PATCH v3 i-g-t 10/15] tests/i915/i915_hangman: Run background task on all engines
From: John Harrison As opposed to only on the non-target engines. This means that there is some other workload present for the scheduler to switch between and so detet the hang immediately. Signed-off-by: John Harrison --- tests/i915/i915_hangman.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/i915/i915_hangman.c b/tests/i915/i915_hangman.c index 6601db5f6..9f7f8062c 100644 --- a/tests/i915/i915_hangman.c +++ b/tests/i915/i915_hangman.c @@ -298,12 +298,14 @@ test_engine_hang(const intel_ctx_t *ctx, igt_skip_on(flags & IGT_SPIN_INVALID_CS && gem_engine_has_cmdparser(device, &ctx->cfg, e->flags)); - /* Fill all the other engines with background load */ + /* +* Fill all engines with background load. +* This verifies that independent engines are unaffected and gives +* the target engine something to switch between so it notices the +* hang. +*/ num_ctx = 0; for_each_ctx_engine(device, ctx, other) { - if (other->flags == e->flags) - continue; - local_ctx[num_ctx] = intel_ctx_create(device, &ctx->cfg); ahndN = get_reloc_ahnd(device, local_ctx[num_ctx]->id); spin = __igt_spin_new(device, -- 2.25.1