Re: [PATCH] rudimentary tracing for Classic RCU

From: Paul E. McKenney
Date: Thu Oct 09 2008 - 07:54:20 EST


On Thu, Oct 09, 2008 at 12:23:13PM +0200, Frédéric Weisbecker wrote:
> 2008/10/9 Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>:
> > Hello!
> >
> > This is a tracing patch for Classic RCU, which creates an "rcu/rcucb"
> > file in debugfs. This patch can be handy when you need to work out
> > why RCU is refusing to end the current grace period.
> >
> > Reading from the file results in something like the following:
> >
> > rcu: cur=1129 completed=1128 np=0 s=0
> > 0,3,7
> > rcu_bh: cur=-287 completed=-287 np=0 s=0
> >
> > online: 0-7
>
>
> Hi Paul,
>
> Why don't you use the ring-buffer tracing engine?
> You will really make your life better by putting it as a tracer in
> kernel/trace and by using the relevant API.
> That will avoid you to manage the debugfs things, the memory
> allocation, the buffer managment.....

Hello, Frédéric,

Well, one reason is that I didn't know about it. ;-)

Does it allow the user to trigger a one-shot trace? Right now, what
one does is:

cat /debug/rcu/rcucb

whenever one wants to see what RCU is up to. You really don't want to
see every new value, as that would generate hundreds of trace records
per second -- per CPU. What does the user do with the ring-buffer
tracing enging?

Thanx, Paul
--
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/