aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-01-07 01:04:22 -0500
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-01-23 14:37:14 -0500
commitbb4e2c08bbfa8eb032db7814f6100086aac102d3 (patch)
tree9f5f9cf8d14f4fb6e70dc72061d6c793032b3625
parentd78973c32a210b0057b51880f7119bf2b61d5a65 (diff)
rcu: Eliminate unused expedited_normal counter
Expedited grace periods no longer fall back to normal grace periods in response to lock contention, given that expedited grace periods now use the rcu_node tree so as to avoid contention. This commit therfore removes the expedited_normal counter. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
-rw-r--r--Documentation/RCU/trace.txt5
-rw-r--r--kernel/rcu/tree.h1
-rw-r--r--kernel/rcu/tree_trace.c3
3 files changed, 2 insertions, 7 deletions
diff --git a/Documentation/RCU/trace.txt b/Documentation/RCU/trace.txt
index 00a3a38b375a..6549012033f9 100644
--- a/Documentation/RCU/trace.txt
+++ b/Documentation/RCU/trace.txt
@@ -237,7 +237,7 @@ o "ktl" is the low-order 16 bits (in hexadecimal) of the count of
237 237
238The output of "cat rcu/rcu_preempt/rcuexp" looks as follows: 238The output of "cat rcu/rcu_preempt/rcuexp" looks as follows:
239 239
240s=21872 wd1=0 wd2=0 wd3=5 n=0 enq=0 sc=21872 240s=21872 wd1=0 wd2=0 wd3=5 enq=0 sc=21872
241 241
242These fields are as follows: 242These fields are as follows:
243 243
@@ -249,9 +249,6 @@ o "wd1", "wd2", and "wd3" are the number of times that an attempt
249 completed an expedited grace period that satisfies the attempted 249 completed an expedited grace period that satisfies the attempted
250 request. "Our work is done." 250 request. "Our work is done."
251 251
252o "n" is number of times that a concurrent CPU-hotplug operation
253 forced a fallback to a normal grace period.
254
255o "enq" is the number of quiescent states still outstanding. 252o "enq" is the number of quiescent states still outstanding.
256 253
257o "sc" is the number of times that the attempt to start a 254o "sc" is the number of times that the attempt to start a
diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h
index fe98dd24adf8..8f750dffb0dd 100644
--- a/kernel/rcu/tree.h
+++ b/kernel/rcu/tree.h
@@ -521,7 +521,6 @@ struct rcu_state {
521 struct mutex exp_mutex; /* Serialize expedited GP. */ 521 struct mutex exp_mutex; /* Serialize expedited GP. */
522 struct mutex exp_wake_mutex; /* Serialize wakeup. */ 522 struct mutex exp_wake_mutex; /* Serialize wakeup. */
523 unsigned long expedited_sequence; /* Take a ticket. */ 523 unsigned long expedited_sequence; /* Take a ticket. */
524 atomic_long_t expedited_normal; /* # fallbacks to normal. */
525 atomic_t expedited_need_qs; /* # CPUs left to check in. */ 524 atomic_t expedited_need_qs; /* # CPUs left to check in. */
526 struct swait_queue_head expedited_wq; /* Wait for check-ins. */ 525 struct swait_queue_head expedited_wq; /* Wait for check-ins. */
527 int ncpus_snap; /* # CPUs seen last time. */ 526 int ncpus_snap; /* # CPUs seen last time. */
diff --git a/kernel/rcu/tree_trace.c b/kernel/rcu/tree_trace.c
index b1f28972872c..2e932cd1da31 100644
--- a/kernel/rcu/tree_trace.c
+++ b/kernel/rcu/tree_trace.c
@@ -194,9 +194,8 @@ static int show_rcuexp(struct seq_file *m, void *v)
194 s2 += atomic_long_read(&rdp->exp_workdone2); 194 s2 += atomic_long_read(&rdp->exp_workdone2);
195 s3 += atomic_long_read(&rdp->exp_workdone3); 195 s3 += atomic_long_read(&rdp->exp_workdone3);
196 } 196 }
197 seq_printf(m, "s=%lu wd0=%lu wd1=%lu wd2=%lu wd3=%lu n=%lu enq=%d sc=%lu\n", 197 seq_printf(m, "s=%lu wd0=%lu wd1=%lu wd2=%lu wd3=%lu enq=%d sc=%lu\n",
198 rsp->expedited_sequence, s0, s1, s2, s3, 198 rsp->expedited_sequence, s0, s1, s2, s3,
199 atomic_long_read(&rsp->expedited_normal),
200 atomic_read(&rsp->expedited_need_qs), 199 atomic_read(&rsp->expedited_need_qs),
201 rsp->expedited_sequence / 2); 200 rsp->expedited_sequence / 2);
202 return 0; 201 return 0;