| From d4cf05d7da773f49f3176cbbbba15a3e4b847b3b Mon Sep 17 00:00:00 2001 |
| From: "Joel Fernandes (Google)" <joel@joelfernandes.org> |
| Date: Tue, 16 Jul 2019 18:12:21 -0400 |
| Subject: [PATCH] rcu: Remove redundant debug_locks check in |
| rcu_read_lock_sched_held() |
| |
| commit 9147089bee3a6b504821dd8462e2be229e6dbfae upstream. |
| |
| The debug_locks flag can never be true at the end of |
| rcu_read_lock_sched_held() because it is already checked by the earlier |
| call todebug_lockdep_rcu_enabled(). This commit therefore removes this |
| redundant check. |
| |
| Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org> |
| Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c |
| index c3bf44ba42e5..bb961cd89e76 100644 |
| --- a/kernel/rcu/update.c |
| +++ b/kernel/rcu/update.c |
| @@ -93,17 +93,13 @@ module_param(rcu_normal_after_boot, int, 0); |
| */ |
| int rcu_read_lock_sched_held(void) |
| { |
| - int lockdep_opinion = 0; |
| - |
| if (!debug_lockdep_rcu_enabled()) |
| return 1; |
| if (!rcu_is_watching()) |
| return 0; |
| if (!rcu_lockdep_current_cpu_online()) |
| return 0; |
| - if (debug_locks) |
| - lockdep_opinion = lock_is_held(&rcu_sched_lock_map); |
| - return lockdep_opinion || !preemptible(); |
| + return lock_is_held(&rcu_sched_lock_map) || !preemptible(); |
| } |
| EXPORT_SYMBOL(rcu_read_lock_sched_held); |
| #endif |
| -- |
| 2.7.4 |
| |