Message ID | 20190626065303.31624-2-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/6] drm/i915/selftests: Serialise nop reset with retirement | expand |
Quoting Chris Wilson (2019-06-26 07:52:59) > 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. References: 79ffac8599c4 ("drm/i915: Invert the GEM wakeref hierarchy") > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Chris
Chris Wilson <chris@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@chris-wilson.co.uk> Riding on the request's ref and getting more fine grained sounds good. Reviewed-by: Mika Kuoppala <mika.kuoppala@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
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; }
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@chris-wilson.co.uk> --- 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(-)