[Intel-gfx] [PATCH 2/6] drm/i915/selftests: Drop manual request wakerefs around hangcheck

Mika Kuoppala mika.kuoppala at linux.intel.com
Wed Jun 26 13:27:17 UTC 2019


Chris Wilson <chris at chris-wilson.co.uk> writes:

> We no longer need to manually acquire a wakeref for request emission, so
> drop the redundant wakerefs, letting us test our wakeref handling more
> precisely.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

Riding on the request's ref and getting more fine
grained sounds good.

Reviewed-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>

> ---
>  drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 7 -------
>  drivers/gpu/drm/i915/gt/selftest_reset.c     | 4 ++--
>  2 files changed, 2 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/selftest_hangcheck.c b/drivers/gpu/drm/i915/gt/selftest_hangcheck.c
> index 0e0b6c572ae9..cf592a049a71 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_hangcheck.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_hangcheck.c
> @@ -373,7 +373,6 @@ static int igt_reset_nop(void *arg)
>  	struct i915_gem_context *ctx;
>  	unsigned int reset_count, count;
>  	enum intel_engine_id id;
> -	intel_wakeref_t wakeref;
>  	struct drm_file *file;
>  	IGT_TIMEOUT(end_time);
>  	int err = 0;
> @@ -393,7 +392,6 @@ static int igt_reset_nop(void *arg)
>  	}
>  
>  	i915_gem_context_clear_bannable(ctx);
> -	wakeref = intel_runtime_pm_get(&i915->runtime_pm);
>  	reset_count = i915_reset_count(&i915->gpu_error);
>  	count = 0;
>  	do {
> @@ -442,8 +440,6 @@ static int igt_reset_nop(void *arg)
>  	err = igt_flush_test(i915, I915_WAIT_LOCKED);
>  	mutex_unlock(&i915->drm.struct_mutex);
>  
> -	intel_runtime_pm_put(&i915->runtime_pm, wakeref);
> -
>  out:
>  	mock_file_free(i915, file);
>  	if (i915_reset_failed(i915))
> @@ -457,7 +453,6 @@ static int igt_reset_nop_engine(void *arg)
>  	struct intel_engine_cs *engine;
>  	struct i915_gem_context *ctx;
>  	enum intel_engine_id id;
> -	intel_wakeref_t wakeref;
>  	struct drm_file *file;
>  	int err = 0;
>  
> @@ -479,7 +474,6 @@ static int igt_reset_nop_engine(void *arg)
>  	}
>  
>  	i915_gem_context_clear_bannable(ctx);
> -	wakeref = intel_runtime_pm_get(&i915->runtime_pm);
>  	for_each_engine(engine, i915, id) {
>  		unsigned int reset_count, reset_engine_count;
>  		unsigned int count;
> @@ -549,7 +543,6 @@ static int igt_reset_nop_engine(void *arg)
>  	err = igt_flush_test(i915, I915_WAIT_LOCKED);
>  	mutex_unlock(&i915->drm.struct_mutex);
>  
> -	intel_runtime_pm_put(&i915->runtime_pm, wakeref);
>  out:
>  	mock_file_free(i915, file);
>  	if (i915_reset_failed(i915))
> diff --git a/drivers/gpu/drm/i915/gt/selftest_reset.c b/drivers/gpu/drm/i915/gt/selftest_reset.c
> index 89da9e7cc1ba..64c2c8ab64ec 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_reset.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_reset.c
> @@ -63,8 +63,8 @@ static int igt_atomic_reset(void *arg)
>  
>  	/* Check that the resets are usable from atomic context */
>  
> +	intel_gt_pm_get(&i915->gt);
>  	igt_global_reset_lock(i915);
> -	mutex_lock(&i915->drm.struct_mutex);
>  
>  	/* Flush any requests before we get started and check basics */
>  	if (!igt_force_reset(i915))
> @@ -89,8 +89,8 @@ static int igt_atomic_reset(void *arg)
>  	igt_force_reset(i915);
>  
>  unlock:
> -	mutex_unlock(&i915->drm.struct_mutex);
>  	igt_global_reset_unlock(i915);
> +	intel_gt_pm_put(&i915->gt);
>  
>  	return err;
>  }
> -- 
> 2.20.1


More information about the Intel-gfx mailing list