lkml.org 
[lkml]   [2010]   [Nov]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC][PATCH 0/2] tracing: Have trace_printk()s in the events/ directory
On Thu, Nov 18, 2010 at 11:41:06AM +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.


Because it makes it very flexible, makes it easy to display the user
where are his trace_printk() and which one he could interact with.

Why would it be a massive pain for perf? People are not going to play
with thousands trace_printk() at once I guess.

Of course, a problem may arise if dynamic_printk() is handled into this
scheme, because of the number of fds to handle. In this case probably this
scheme should allow a group of trace_printk to be a (virtual) trace_event itself.

I mean if you have two trace_printk() in kernel/sched.c and some
others in kernel/, you could either create once perf_event for
every trace_printk() in kernel/ or one for every trace_prink() in
kernel/sched.c, or one for kernel/sched.c:118

That's easy if you have an id file at each level.

An other solution, which have been talking with Thomas yesterday, would be
to allow having a single fd for several perf_events at once. That would
solve some problems when you have hundreds of events opened (think about
wide tracing, or use of all individual syscalls).



\
 
 \ /
  Last update: 2010-11-18 13:55    [W:0.087 / U:0.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site