[Intel-gfx] [PATCH 1/2] drm/i915: Wait for completion of pending flips when starved of fences

Bloomfield, Jon jon.bloomfield at intel.com
Tue Jan 21 12:03:49 CET 2014


> -----Original Message-----
> From: intel-gfx-bounces at lists.freedesktop.org [mailto:intel-gfx-
> bounces at lists.freedesktop.org] On Behalf Of Chris Wilson
> Sent: Monday, January 20, 2014 10:18 AM
> To: intel-gfx at lists.freedesktop.org
> Subject: [Intel-gfx] [PATCH 1/2] drm/i915: Wait for completion of pending
> flips when starved of fences
> 
> On older generations (gen2, gen3) the GPU requires fences for many
> operations, such as blits. The display hardware also requires fences for
> scanouts and this leads to a situation where an arbitrary number of fences
> may be pinned by old scanouts following a pageflip but before we have
> executed the unpin workqueue. This is unpredictable by userspace and leads
> to random EDEADLK when submitting an otherwise benign execbuffer.
> However, we can detect when we have an outstanding flip and so cause
> userspace to wait upon their completion before finally declaring that the
> system is starved of fences. This is really no worse than forcing the GPU to
> stall waiting for older execbuffer to retire and release their fences before we
> can reallocate them for the next execbuffer.
> 
> v2: move the test for a pending fb unpin to a common routine for later reuse
> during eviction
> 
> Reported-and-tested-by: dimon at gmx.net
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73696
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

Review-by: Jon Bloomfield <jon.bloomfield at intel.com>



More information about the Intel-gfx mailing list