]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Avoid unbinding due to an interrupted pin_and_fence during execbuffer
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 24 Aug 2012 18:18:18 +0000 (19:18 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 24 Aug 2012 19:02:51 +0000 (21:02 +0200)
commit91e46685f523c3e9c3dc5f2b37d7889b817ae0cc
tree9e3497c7c370c514a7a5974ea493fc1aeb607b04
parent5490addcbde5a770ba70afd3609271f0c3db14f4
drm/i915: Avoid unbinding due to an interrupted pin_and_fence during execbuffer

If we need to stall in order to complete the pin_and_fence operation
during execbuffer reservation, there is a high likelihood that the
operation will be interrupted by a signal (thanks X!). In order to
simplify the cleanup along that error path, the object was
unconditionally unbound and the error propagated. However, being
interrupted here is far more common than I would like and so we can
strive to avoid the extra work by eliminating the forced unbind.

v2: In discussion over the indecent colour of the new functions and
unwind path, we realised that we can use the new unreserve function to
clean up the code even further.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem_execbuffer.c