drm/i915/gt: Only delay the context barrier pm
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 23 Mar 2020 19:20:29 +0000 (19:20 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 23 Mar 2020 20:38:56 +0000 (20:38 +0000)
It is strictly sufficient to only delay the intel_engine_pm_put from the
context barrier (and not from the context exit) in order to prevent the
gem_exec_nop contention. Adding the delay to the context exit incurs
noticably extra penalty for soft-rc6.

Fixes: edee52c927ef ("drm/i915/gt: Delay release of engine-pm after last retirement")
Testcase: igt/i915_pm_rc6_residency/rc6-idle
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200323192029.20723-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_context.c

index 622ff425fce960f329a30ea164b0a2ef86edf72f..e4aece20bc8089b0cff67256c12f0e7153ea2294 100644 (file)
@@ -350,7 +350,7 @@ void intel_context_enter_engine(struct intel_context *ce)
 void intel_context_exit_engine(struct intel_context *ce)
 {
        intel_timeline_exit(ce->timeline);
-       intel_engine_pm_put_delay(ce->engine, 1);
+       intel_engine_pm_put(ce->engine);
 }
 
 int intel_context_prepare_remote_request(struct intel_context *ce,