]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gt: Protect signaler walk with RCU
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 20 Feb 2020 07:50:20 +0000 (07:50 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 20 Feb 2020 13:27:23 +0000 (13:27 +0000)
commitee35bc7683b48c6ec88103ff5fd9673798745c55
tree95e7e36c40ff4e23a8fb5daf9c94e432cb212e92
parent334d60038a89d3c1547bc9f59af0253ec25a5ed2
drm/i915/gt: Protect signaler walk with RCU

While we know that the waiters cannot disappear as we walk our list
(only that they might be added), the same cannot be said for our
signalers as they may be completed by the HW and retired as we process
this request. Ergo we need to use rcu to protect the list iteration and
remember to mark up the list_del_rcu.

v2: Mark the deps as safe-for-rcu

Fixes: 9ee480fabf49 ("drm/i915/gt: Protect execlists_hold/unhold from new waiters")
Fixes: 62568e9409a1 ("drm/i915/gt: Allow temporary suspension of inflight requests")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200220075025.1539375-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_lrc.c
drivers/gpu/drm/i915/i915_scheduler.c