rcu: exp: Fix "must hold exp_mutex" comments for QS reporting functions
Since commitd9a3da0699
("rcu: Add expedited grace-period support for preemptible RCU"), there are comments for some funtions in rcu_report_exp_rnp()'s call-chain saying that exp_mutex or its predecessors needs to be held. However, exp_mutex and its predecessors were used only to synchronize between GPs, and it is clear that all variables visited by those functions are under the protection of rcu_node's ->lock. Moreover, those functions are currently called without held exp_mutex, and seems that doesn't introduce any trouble. So this patch fixes this problem by updating the comments to match the current code. Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Fixes:d9a3da0699
("rcu: Add expedited grace-period support for preemptible RCU") Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Tested-by: Nicholas Piggin <npiggin@gmail.com>
This commit is contained in:
parent
25f3d7effa
commit
7be8c56f8f
|
@ -154,7 +154,7 @@ static void __maybe_unused sync_exp_reset_tree(struct rcu_state *rsp)
|
||||||
* for the current expedited grace period. Works only for preemptible
|
* for the current expedited grace period. Works only for preemptible
|
||||||
* RCU -- other RCU implementation use other means.
|
* RCU -- other RCU implementation use other means.
|
||||||
*
|
*
|
||||||
* Caller must hold the rcu_state's exp_mutex.
|
* Caller must hold the specificed rcu_node structure's ->lock
|
||||||
*/
|
*/
|
||||||
static bool sync_rcu_preempt_exp_done(struct rcu_node *rnp)
|
static bool sync_rcu_preempt_exp_done(struct rcu_node *rnp)
|
||||||
{
|
{
|
||||||
|
@ -170,8 +170,7 @@ static bool sync_rcu_preempt_exp_done(struct rcu_node *rnp)
|
||||||
* recursively up the tree. (Calm down, calm down, we do the recursion
|
* recursively up the tree. (Calm down, calm down, we do the recursion
|
||||||
* iteratively!)
|
* iteratively!)
|
||||||
*
|
*
|
||||||
* Caller must hold the rcu_state's exp_mutex and the specified rcu_node
|
* Caller must hold the specified rcu_node structure's ->lock.
|
||||||
* structure's ->lock.
|
|
||||||
*/
|
*/
|
||||||
static void __rcu_report_exp_rnp(struct rcu_state *rsp, struct rcu_node *rnp,
|
static void __rcu_report_exp_rnp(struct rcu_state *rsp, struct rcu_node *rnp,
|
||||||
bool wake, unsigned long flags)
|
bool wake, unsigned long flags)
|
||||||
|
@ -207,8 +206,6 @@ static void __rcu_report_exp_rnp(struct rcu_state *rsp, struct rcu_node *rnp,
|
||||||
/*
|
/*
|
||||||
* Report expedited quiescent state for specified node. This is a
|
* Report expedited quiescent state for specified node. This is a
|
||||||
* lock-acquisition wrapper function for __rcu_report_exp_rnp().
|
* lock-acquisition wrapper function for __rcu_report_exp_rnp().
|
||||||
*
|
|
||||||
* Caller must hold the rcu_state's exp_mutex.
|
|
||||||
*/
|
*/
|
||||||
static void __maybe_unused rcu_report_exp_rnp(struct rcu_state *rsp,
|
static void __maybe_unused rcu_report_exp_rnp(struct rcu_state *rsp,
|
||||||
struct rcu_node *rnp, bool wake)
|
struct rcu_node *rnp, bool wake)
|
||||||
|
@ -221,8 +218,7 @@ static void __maybe_unused rcu_report_exp_rnp(struct rcu_state *rsp,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Report expedited quiescent state for multiple CPUs, all covered by the
|
* Report expedited quiescent state for multiple CPUs, all covered by the
|
||||||
* specified leaf rcu_node structure. Caller must hold the rcu_state's
|
* specified leaf rcu_node structure.
|
||||||
* exp_mutex.
|
|
||||||
*/
|
*/
|
||||||
static void rcu_report_exp_cpu_mult(struct rcu_state *rsp, struct rcu_node *rnp,
|
static void rcu_report_exp_cpu_mult(struct rcu_state *rsp, struct rcu_node *rnp,
|
||||||
unsigned long mask, bool wake)
|
unsigned long mask, bool wake)
|
||||||
|
|
Loading…
Reference in New Issue