aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcu/tree_plugin.h
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2015-08-06 17:17:29 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2015-09-21 00:16:21 -0400
commit0d43eb34f9aabcddf41c99b7af2d0ced33e9a3cc (patch)
treeae248d15b7c20f943f0604654980265e7c74bc02 /kernel/rcu/tree_plugin.h
parent97c668b8e983b722e2ed765b98b05f644aff1b13 (diff)
rcu: Invert passed_quiesce and rename to cpu_no_qs
This commit inverts the sense of the rcu_data structure's ->passed_quiesce field and renames it to ->cpu_no_qs. This will allow a later commit to use an "aggregate OR" operation to test expedited as well as normal grace periods without added overhead. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu/tree_plugin.h')
-rw-r--r--kernel/rcu/tree_plugin.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
index e33b4f3b8e0a..6977ff0dccb9 100644
--- a/kernel/rcu/tree_plugin.h
+++ b/kernel/rcu/tree_plugin.h
@@ -265,11 +265,11 @@ static void rcu_preempt_ctxt_queue(struct rcu_node *rnp, struct rcu_data *rdp,
265 */ 265 */
266static void rcu_preempt_qs(void) 266static void rcu_preempt_qs(void)
267{ 267{
268 if (!__this_cpu_read(rcu_data_p->passed_quiesce)) { 268 if (__this_cpu_read(rcu_data_p->cpu_no_qs)) {
269 trace_rcu_grace_period(TPS("rcu_preempt"), 269 trace_rcu_grace_period(TPS("rcu_preempt"),
270 __this_cpu_read(rcu_data_p->gpnum), 270 __this_cpu_read(rcu_data_p->gpnum),
271 TPS("cpuqs")); 271 TPS("cpuqs"));
272 __this_cpu_write(rcu_data_p->passed_quiesce, 1); 272 __this_cpu_write(rcu_data_p->cpu_no_qs, false);
273 barrier(); /* Coordinate with rcu_preempt_check_callbacks(). */ 273 barrier(); /* Coordinate with rcu_preempt_check_callbacks(). */
274 current->rcu_read_unlock_special.b.need_qs = false; 274 current->rcu_read_unlock_special.b.need_qs = false;
275 } 275 }
@@ -620,7 +620,7 @@ static void rcu_preempt_check_callbacks(void)
620 } 620 }
621 if (t->rcu_read_lock_nesting > 0 && 621 if (t->rcu_read_lock_nesting > 0 &&
622 __this_cpu_read(rcu_data_p->core_needs_qs) && 622 __this_cpu_read(rcu_data_p->core_needs_qs) &&
623 !__this_cpu_read(rcu_data_p->passed_quiesce)) 623 __this_cpu_read(rcu_data_p->cpu_no_qs))
624 t->rcu_read_unlock_special.b.need_qs = true; 624 t->rcu_read_unlock_special.b.need_qs = true;
625} 625}
626 626