rcu: Eliminate unused expedited_normal counter
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sat, 7 Jan 2017 06:04:22 +0000 (22:04 -0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 23 Jan 2017 19:37:14 +0000 (11:37 -0800)
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>
Documentation/RCU/trace.txt
kernel/rcu/tree.h
kernel/rcu/tree_trace.c

index 00a3a38b375ae9946425fc2ea94fa0c2383e867c..6549012033f9d369cbb39c165c45d2d6c65f4154 100644 (file)
@@ -237,7 +237,7 @@ o   "ktl" is the low-order 16 bits (in hexadecimal) of the count of
 
 The output of "cat rcu/rcu_preempt/rcuexp" looks as follows:
 
-s=21872 wd1=0 wd2=0 wd3=5 n=0 enq=0 sc=21872
+s=21872 wd1=0 wd2=0 wd3=5 enq=0 sc=21872
 
 These fields are as follows:
 
@@ -249,9 +249,6 @@ o   "wd1", "wd2", and "wd3" are the number of times that an attempt
        completed an expedited grace period that satisfies the attempted
        request.  "Our work is done."
 
-o      "n" is number of times that a concurrent CPU-hotplug operation
-       forced a fallback to a normal grace period.
-
 o      "enq" is the number of quiescent states still outstanding.
 
 o      "sc" is the number of times that the attempt to start a
index fe98dd24adf895216b52c80bd102a561368df7bb..8f750dffb0ddf41a607d66ea1a3d4712581e408f 100644 (file)
@@ -521,7 +521,6 @@ struct rcu_state {
        struct mutex exp_mutex;                 /* Serialize expedited GP. */
        struct mutex exp_wake_mutex;            /* Serialize wakeup. */
        unsigned long expedited_sequence;       /* Take a ticket. */
-       atomic_long_t expedited_normal;         /* # fallbacks to normal. */
        atomic_t expedited_need_qs;             /* # CPUs left to check in. */
        struct swait_queue_head expedited_wq;   /* Wait for check-ins. */
        int ncpus_snap;                         /* # CPUs seen last time. */
index b1f28972872cb1fe3edd4a835ad3cbb5d692886a..2e932cd1da3111553983b11dcfba783aadde4b4b 100644 (file)
@@ -194,9 +194,8 @@ static int show_rcuexp(struct seq_file *m, void *v)
                s2 += atomic_long_read(&rdp->exp_workdone2);
                s3 += atomic_long_read(&rdp->exp_workdone3);
        }
-       seq_printf(m, "s=%lu wd0=%lu wd1=%lu wd2=%lu wd3=%lu n=%lu enq=%d sc=%lu\n",
+       seq_printf(m, "s=%lu wd0=%lu wd1=%lu wd2=%lu wd3=%lu enq=%d sc=%lu\n",
                   rsp->expedited_sequence, s0, s1, s2, s3,
-                  atomic_long_read(&rsp->expedited_normal),
                   atomic_read(&rsp->expedited_need_qs),
                   rsp->expedited_sequence / 2);
        return 0;