Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 182232
b: refs/heads/master
c: 45f014c
h: refs/heads/master
v: v3
  • Loading branch information
Paul E. McKenney authored and Ingo Molnar committed Jan 13, 2010
1 parent 4d0c6ed commit ea57f23
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ee47eb9f4da6f44af965d6d049e77ee8c8a4b822
refs/heads/master: 45f014c52eef022873b19d6a20eb0ec9668f2b09
9 changes: 4 additions & 5 deletions trunk/kernel/rcutree.c
Original file line number Diff line number Diff line change
Expand Up @@ -1146,8 +1146,7 @@ void rcu_check_callbacks(int cpu, int user)
* have not yet encountered a quiescent state, using the function specified.
* The caller must have suppressed start of new grace periods.
*/
static void rcu_process_dyntick(struct rcu_state *rsp,
int (*f)(struct rcu_data *))
static void force_qs_rnp(struct rcu_state *rsp, int (*f)(struct rcu_data *))
{
unsigned long bit;
int cpu;
Expand All @@ -1172,7 +1171,7 @@ static void rcu_process_dyntick(struct rcu_state *rsp,
if ((rnp->qsmask & bit) != 0 && f(rsp->rda[cpu]))
mask |= bit;
}
if (mask != 0 && rcu_gp_in_progress(rsp)) {
if (mask != 0) {

/* rcu_report_qs_rnp() releases rnp->lock. */
rcu_report_qs_rnp(mask, rsp, rnp, flags);
Expand Down Expand Up @@ -1222,7 +1221,7 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed)
break; /* So gcc recognizes the dead code. */

/* Record dyntick-idle state. */
rcu_process_dyntick(rsp, dyntick_save_progress_counter);
force_qs_rnp(rsp, dyntick_save_progress_counter);
spin_lock(&rnp->lock); /* irqs already disabled */
if (rcu_gp_in_progress(rsp))
rsp->signaled = RCU_FORCE_QS;
Expand All @@ -1232,7 +1231,7 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed)

/* Check dyntick-idle state, send IPI to laggarts. */
spin_unlock(&rnp->lock); /* irqs remain disabled */
rcu_process_dyntick(rsp, rcu_implicit_dynticks_qs);
force_qs_rnp(rsp, rcu_implicit_dynticks_qs);

/* Leave state in case more forcing is required. */

Expand Down

0 comments on commit ea57f23

Please sign in to comment.