Describe the intent of boosting the GPU frequency to maximum before
waiting on the GPU.

RPS waitboosting was introduced with

commit b29c19b645287f7062e17d70fa4e9781a01a5d88
Author: Chris Wilson <ch...@chris-wilson.co.uk>
Date:   Wed Sep 25 17:34:56 2013 +0100

    drm/i915: Boost RPS frequency for CPU stalls

but lacked a concise comment in the code to explain itself.

Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_gem.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index a0584cffa7cd..56b00bf69d89 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1246,6 +1246,22 @@ int __i915_wait_request(struct drm_i915_gem_request *req,
        }
 
        trace_i915_gem_request_wait_begin(req);
+
+       /* This client is about to stall waiting for the GPU. In many cases
+        * this is undesirable and limits the throughput of the system, as
+        * many clients cannot continue processing user input/output whilst
+        * asleep. RPS autotuning may take tens of milliseconds to respond
+        * to the GPU load and thus incurs additional latency for the client.
+        * We can circumvent that promoting the GPU frequency to maximum
+        * before we wait. This makes GPU throttle up much more quickly
+        * (good for benchmarks), but at a cost of spending more power
+        * processing the workload (bad for battery). Not all clients even
+        * want their results immediately and for them we should just let
+        * the GPU select its own frequency to maximise efficiency.
+        * To prevent a single client from forcing the clocks too high for
+        * the whole system, we only allow each client to waitboost once
+        * in a busy period.
+        */
        if (INTEL_INFO(req->i915)->gen >= 6)
                gen6_rps_boost(req->i915, rps, req->emitted_jiffies);
 
-- 
2.6.3

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to