• Chris Wilson's avatar
    drm/i915: Avoid unbinding due to an interrupted pin_and_fence during execbuffer · 7788a765
    Chris Wilson authored
    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: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    7788a765
i915_gem_execbuffer.c 31.7 KB