drm/i915: Disable waitboosting for a saturated engine
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 4 Aug 2016 06:52:39 +0000 (07:52 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 4 Aug 2016 07:09:28 +0000 (08:09 +0100)
If the user floods the GPU with so many requests that the engine stalls
waiting for free space, don't automatically promote the GPU to maximum
frequencies. If the GPU really is saturated with work, it will migrate
to high clocks by itself, otherwise it is merely a user flooding us with
busy-work.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1470293567-10811-20-git-send-email-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_ringbuffer.c

index 542cf585121c89148403d14984346dfeab2ce8d0..4ab6d2365e30e0962ed97249f35c7cda7abf755e 100644 (file)
@@ -2299,7 +2299,7 @@ static int wait_for_space(struct drm_i915_gem_request *req, int bytes)
        if (WARN_ON(&target->ring_link == &ring->request_list))
                return -ENOSPC;
 
-       ret = __i915_wait_request(target, true, NULL, NULL);
+       ret = __i915_wait_request(target, true, NULL, NO_WAITBOOST);
        if (ret)
                return ret;