[PATCH 16/24] jrcu: separate barrier and sync stats

From: Joe Korty
Date: Thu Mar 24 2011 - 13:49:37 EST


jrcu: seperate barrier/sync stats.

Now that barriers are distinct from syncs, give
each their own stats.

Signed-off-by: Joe Korty <joe.korty@xxxxxxxx>

Index: b/kernel/jrcu.c
===================================================================
--- a/kernel/jrcu.c
+++ b/kernel/jrcu.c
@@ -122,6 +122,7 @@ static struct rcu_stats {
unsigned npasses; /* #passes made */
unsigned nbatches; /* #end-of-batches (eobs) seen */
atomic_t nbarriers; /* #rcu barriers processed */
+ atomic_t nsyncs; /* #rcu syncs processed */
u64 ninvoked; /* #invoked (ie, finished) callbacks */
atomic_t nleft; /* #callbacks left (ie, not yet invoked) */
unsigned nforced; /* #forced eobs (should be zero) */
@@ -215,7 +216,7 @@ void synchronize_sched(void)
init_completion(&rcu.completion);
call_rcu(&rcu.head, wakeme_after_rcu);
wait_for_completion(&rcu.completion);
- atomic_inc(&rcu_stats.nbarriers);
+ atomic_inc(&rcu_stats.nsyncs);

}
EXPORT_SYMBOL_GPL(synchronize_sched);
@@ -224,6 +225,7 @@ void rcu_barrier(void)
{
synchronize_sched();
synchronize_sched();
+ atomic_inc(&rcu_stats.nbarriers);
}
EXPORT_SYMBOL_GPL(rcu_barrier);

@@ -604,6 +606,8 @@ static int rcu_debugfs_show(struct seq_f
seq_printf(m, "\n");
seq_printf(m, "%14u: #barriers\n",
atomic_read(&rcu_stats.nbarriers));
+ seq_printf(m, "%14u: #syncs\n",
+ atomic_read(&rcu_stats.nsyncs));
seq_printf(m, "%14llu: #callbacks invoked\n",
rcu_stats.ninvoked);
seq_printf(m, "%14u: #callbacks left to invoke\n",
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/