diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2018-05-03 14:30:02 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2018-07-12 15:39:06 -0700 |
commit | 17a8212b8de21ce1b9a91fb75c8a6fb337685b9a (patch) | |
tree | 14c354165c93424dc33c5a987888e96411e2412a /kernel/rcu | |
parent | f34f2f5852e556ee1c3b3b294571086b1791008a (diff) | |
download | op-kernel-dev-17a8212b8de21ce1b9a91fb75c8a6fb337685b9a.zip op-kernel-dev-17a8212b8de21ce1b9a91fb75c8a6fb337685b9a.tar.gz |
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 c577cadc..770f0df 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; } |