Re: [RFC][PATCH 0/2] tracing: Have trace_printk()s in the events/directory

From: Mathieu Desnoyers
Date: Thu Nov 18 2010 - 08:03:33 EST


* Steven Rostedt (rostedt@xxxxxxxxxxx) wrote:
> On Thu, 2010-11-18 at 07:06 -0500, Mathieu Desnoyers wrote:
> > * Steven Rostedt (rostedt@xxxxxxxxxxx) wrote:
> > > On Thu, 2010-11-18 at 11:41 +0100, Peter Zijlstra wrote:
> > > > On Wed, 2010-11-17 at 22:58 -0500, Steven Rostedt wrote:
> > > > > For example, I added a trace_printk() in kernel/sched.c at line 2180
> > > > > and it creates:
> > > > >
> > > > > # ls /debug/tracing/events/printk/kernel/sched.c/2180/
> > > > > enable format
> > > > >
> > > > > The format is the printk format:
> > > > >
> > > > > # cat /debug/tracing/events/printk/kernel/sched.c/2180/format
> > > > > "migrate task %s:%d"
> > > >
> > > > *groan*, so you're creating a tracepoint per instance?
> > > >
> > > > That's going to be massive pain for perf.. I really don't see the point
> > > > in splitting all that out.
> > >
> > > a) The file directory was what was asked about in the referenced email.
> > > b) This is just an example of a way to display it to the user, which
> > > seems to be very intuitive.
> > > c) Perf can implement the details anyway it wants. It can make a single
> > > tracepoint callback and have the enabling of the points as a special
> > > filter.
> > > d) This was just an RFC that Frederic asked if I would do. I thought it
> > > would be a fun challenge and did it. Let it bit rot in hell for all I
> > > care, I wasn't taking it any further anyway.
> >
> > Hi Steven,
> >
> > The LTTng tree still keeps the "trace_mark()" kernel markers, which are
> > very very similar to ftrace_printk(). I'd be happy to combine the two
> > eventually. This one file per line approach seems very good -- rather than
> > explicitely naming each instance, as I did in trace_mark(), you end up
> > automatically naming them by file/line number.
> >
> > How does this behave from within static inlines called multiple times and
> > unrolled loops ?
>
> Actually you mean macros:
>
> You'll get a 2181-1, 2181-2, 2181-3, etc.

This is neat, great ! :)

>
> Although a trace_printk() in a header static inline may be interesting.

Yep, food for thoughts. ;-)

Thank you !

Mathieu

--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
--
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/