Messages in this thread Patch in this message | | | Date | Thu, 24 Mar 2011 13:48:03 -0400 | From | Joe Korty <> | Subject | [PATCH 16/24] jrcu: separate barrier and sync stats |
| |
jrcu: seperate barrier/sync stats.
Now that barriers are distinct from syncs, give each their own stats.
Signed-off-by: Joe Korty <joe.korty@ccur.com>
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",
| |