From: John Harrison <john.c.harri...@intel.com>

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 <john.c.harri...@intel.com>
Reviewed-by: Matthew Brost <matthew.br...@intel.com>
---
 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 24087931c..a1aeeba6d 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

Reply via email to