On Tue, Nov 29, 2011 at 03:12:16PM +0000, Chris Wilson wrote: > By clearing the GPU read domains before waiting upon the buffer, we run > the risk of the wait being interrupted and the domains prematurely > cleared. The next time we attempt to wait upon the buffer (after > userspace handles the signal), we believe that the buffer is idle and so > skip the wait. > > There are a number of bugs across all generations which show signs of an > overly haste reuse of active buffers. > > Such as: > > https://bugs.freedesktop.org/show_bug.cgi?id=29046 > https://bugs.freedesktop.org/show_bug.cgi?id=35863 > https://bugs.freedesktop.org/show_bug.cgi?id=38952 > https://bugs.freedesktop.org/show_bug.cgi?id=40282 > https://bugs.freedesktop.org/show_bug.cgi?id=41098 > https://bugs.freedesktop.org/show_bug.cgi?id=41102 > https://bugs.freedesktop.org/show_bug.cgi?id=41284 > https://bugs.freedesktop.org/show_bug.cgi?id=42141 > > A couple of those pre-date i915_gem_object_finish_gpu(), so may be > unrelated (such as a wild write from a userspace command buffer), but > this does look like a convincing cause for most of those bugs. > > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk> > Cc: stable at kernel.org Really nice catch! Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch> -- Daniel Vetter Mail: daniel at ffwll.ch Mobile: +41 (0)79 365 57 48