• Chris Wilson's avatar
    drm/i915: Break busywaiting for requests on pending signals · 91b0c352
    Chris Wilson authored
    The busywait in __i915_spin_request() does not respect pending signals
    and so may consume the entire timeslice for the task instead of
    returning to userspace to handle the signal.
    
    In the worst case this could cause a delay in signal processing of 20ms,
    which would be a noticeable jitter in cursor tracking. If a higher
    resolution signal was being used, for example to provide fairness of a
    server timeslices between clients, we could expect to detect some
    unfairness between clients (i.e. some windows not updating as fast as
    others). This issue was noticed when inspecting a report of poor
    interactivity resulting from excessively high __i915_spin_request usage.
    
    Fixes regression from
    commit 2def4ad9 [v4.2]
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Tue Apr 7 16:20:41 2015 +0100
    
         drm/i915: Optimistically spin for the request completion
    
    v2: Try to assess the impact of the bug
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
    Cc: Jens Axboe <axboe@kernel.dk>
    Cc; "Rogozhkin, Dmitry V" <dmitry.v.rogozhkin@intel.com>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
    Cc: Eero Tamminen <eero.t.tamminen@intel.com>
    Cc: "Rantala, Valtteri" <valtteri.rantala@intel.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Link: http://patchwork.freedesktop.org/patch/msgid/1449833608-22125-2-git-send-email-chris@chris-wilson.co.uk
    91b0c352
i915_gem.c 134 KB