diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2018-05-03 23:30:02 +0200 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2018-07-13 00:39:06 +0200 |
commit | 17a8212b8de21ce1b9a91fb75c8a6fb337685b9a (patch) | |
tree | 14c354165c93424dc33c5a987888e96411e2412a /kernel/rcu | |
parent | rcu: Move grace-period pre-init delay after pre-init (diff) | |
download | linux-17a8212b8de21ce1b9a91fb75c8a6fb337685b9a.tar.xz linux-17a8212b8de21ce1b9a91fb75c8a6fb337685b9a.zip |
rcu: Remove failsafe check for lost quiescent state
Now that quiescent-state reporting is fully event-driven, this commit
removes the check for a lost quiescent state from force_qs_rnp().
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu')
-rw-r--r-- | kernel/rcu/tree.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index c577cadcc4f8..770f0df54015 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -2317,8 +2317,9 @@ rcu_report_qs_rnp(unsigned long mask, struct rcu_state *rsp, * irqs disabled, and this lock is released upon return, but irqs remain * disabled. */ -static void rcu_report_unblock_qs_rnp(struct rcu_state *rsp, - struct rcu_node *rnp, unsigned long flags) +static void __maybe_unused +rcu_report_unblock_qs_rnp(struct rcu_state *rsp, + struct rcu_node *rnp, unsigned long flags) __releases(rnp->lock) { unsigned long gps; @@ -2679,17 +2680,6 @@ static void force_qs_rnp(struct rcu_state *rsp, int (*f)(struct rcu_data *rsp)) /* rcu_initiate_boost() releases rnp->lock */ continue; } - if (rnp->parent && - (rnp->parent->qsmask & rnp->grpmask)) { - /* - * Race between grace-period - * initialization and task exiting RCU - * read-side critical section: Report. - */ - rcu_report_unblock_qs_rnp(rsp, rnp, flags); - /* rcu_report_unblock_qs_rnp() rlses ->lock */ - continue; - } raw_spin_unlock_irqrestore_rcu_node(rnp, flags); continue; } |