[Intel-gfx] [PATCH] drm/i915: Boost GPU clocks if we miss the pageflip's vblank

Chris Wilson chris at chris-wilson.co.uk
Fri Aug 18 09:30:47 UTC 2017


Quoting Chris Wilson (2017-08-17 13:37:06)
> If we miss the current vblank because the gpu was busy, that may cause a
> jitter as the frame rate temporarily drops. We try to limit the impact
> of this by then boosting the GPU clock to deliver the frame as quickly
> as possible. Originally done in commit 6ad790c0f5ac ("drm/i915: Boost GPU
> frequency if we detect outstanding pageflips") but was never forward
> ported to atomic and finally dropped in commit fd3a40242e87 ("drm/i915:
> Rip out legacy page_flip completion/irq handling").

+One of the most typical use-cases for this is a mostly idle desktop.
Rendering one frame of the desktop's frontbuffer can easily be
accomplished by the GPU running at low frequency, but often exceeds
the time budget of the desktop compositor. The result is that animations
such as opening the menu, doing a fullscreen switch, or even just trying
to move a window around are slow and jerky. We need to respond within a
frame to give the best impression of a smooth UX, as a compromise we
instead respond if that first frame misses its goal. The result should
be a near-imperceivable initial delay and a smooth animation even
starting from idle. The cost, as ever, is that we spend more power than
is strictly necessary as we overestimate the required GPU frequency and
then try to ramp down.

> References: https://bugs.freedesktop.org/show_bug.cgi?id=102199
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Cc: Daniel Vetter <daniel.vetter at intel.com>


More information about the Intel-gfx mailing list