Re: [Intel-gfx] [PATCH v3 i-g-t 10/15] tests/i915/i915_hangman: Run background task on all engines

2022-01-13 Thread Matthew Brost
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

2022-01-13 Thread John . C . Harrison
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