[Intel-gfx] [PATCH v2 11/11] drm/i915: Avoid waitboosting on the active request

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Thu Jan 18 09:49:48 UTC 2018


On Mon, 2018-01-15 at 08:47 +0000, Chris Wilson wrote:
> Watching a light workload on Baytrail (running glxgears and a 1080p
> decode), instead of the system remaining at low frequency, the glxgears
> would regularly trigger waitboosting after which it would have to spend
> a few seconds throttling back down. In this case, the waitboosting is
> counter productive as the minimal wait for glxgears doesn't prevent it
> from functioning correctly and delivering frames on time. In this case,
> glxgears happens to almost always be waiting on the current request,
> which we already expect to complete quickly (see i915_spin_request) and
> so avoiding the waitboost on the active request and spinning instead
> provides the best latency without overcommitting to upclocking.
> However, if the system falls behind we still force the waitboost.
> Similarly, we will also trigger upclocking if we detect the system is
> not delivering frames on time - again using a mechanism that tries to
> detect a miss and not preemptively upclock.
> 
> v2: Also skip boosting for after missed vblank if the desired request is
> already active.
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Cc: Radoslaw Szwichtenberg <radoslaw.szwichtenberg at intel.com>

Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>

Regards, Joonas
-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation


More information about the Intel-gfx mailing list