[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