From: pengdonglin <pengdong...@xiaomi.com>

Since commit a8bb74acd8efe ("rcu: Consolidate RCU-sched update-side function 
definitions")
there is no difference between rcu_read_lock(), rcu_read_lock_bh() and
rcu_read_lock_sched() in terms of RCU read section and the relevant grace
period. That means that spin_lock(), which implies rcu_read_lock_sched(),
also implies rcu_read_lock().

There is no need no explicitly start a RCU read section if one has already
been started implicitly by spin_lock().

Simplify the code and remove the inner rcu_read_lock() invocation.

Cc: Jani Nikula <jani.nik...@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahti...@linux.intel.com>
Cc: Tvrtko Ursulin <tursu...@ursulin.net>
Signed-off-by: pengdonglin <pengdong...@xiaomi.com>
Signed-off-by: pengdonglin <dolinux.p...@gmail.com>
---
 drivers/gpu/drm/i915/gt/intel_ring_submission.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_ring_submission.c 
b/drivers/gpu/drm/i915/gt/intel_ring_submission.c
index 2a6d79abf25b..bf73166a1337 100644
--- a/drivers/gpu/drm/i915/gt/intel_ring_submission.c
+++ b/drivers/gpu/drm/i915/gt/intel_ring_submission.c
@@ -392,14 +392,12 @@ static void reset_rewind(struct intel_engine_cs *engine, 
bool stalled)
 
        rq = NULL;
        spin_lock_irqsave(&engine->sched_engine->lock, flags);
-       rcu_read_lock();
        list_for_each_entry(pos, &engine->sched_engine->requests, sched.link) {
                if (!__i915_request_is_complete(pos)) {
                        rq = pos;
                        break;
                }
        }
-       rcu_read_unlock();
 
        /*
         * The guilty request will get skipped on a hung engine.
-- 
2.34.1

Reply via email to