Messages in this thread | | | Date | Thu, 18 Nov 2010 07:06:26 -0500 | From | Mathieu Desnoyers <> | Subject | Re: [RFC][PATCH 0/2] tracing: Have trace_printk()s in the events/ directory |
| |
* Steven Rostedt (rostedt@goodmis.org) 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 ?
Thanks,
Mathieu
-- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com
| |