lkml.org 
[lkml]   [2010]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 11/11] Uprobes traceevents patch.
On Thu, Apr 01, 2010 at 12:16:56AM -0400, Masami Hiramatsu wrote:
> Hi Steven,
>
> Steven Rostedt wrote:
> > On Wed, 2010-03-31 at 21:23 +0530, Srikar Dronamraju wrote:
> >
> >> libftrace-y := ftrace.o
> >> diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
> >> index 2825ef2..9fe02ab 100644
> >> --- a/kernel/trace/trace.h
> >> +++ b/kernel/trace/trace.h
> >> @@ -126,6 +126,18 @@ struct kretprobe_trace_entry {
> >> (offsetof(struct kretprobe_trace_entry, args) + \
> >> (sizeof(unsigned long) * (n)))
> >>
> >> +struct uprobe_trace_entry {
> >> + struct trace_entry ent;
> >> + pid_t pid;
> >
> > Unless pid is not the current pid, ent already records it.
>
> Indeed.
>
> >> + unsigned long ip;
> >> + int nargs;
> >> + unsigned long args[];
> >> +};
> >
> > Note, you want to really add this to trace_entries.h instead:
> >
> > FTRACE_ENTRY(uprobe, uprobe_trace_entry,
> >
> > TRACE_GRAPH_ENT,
> >
> > F_STRUCT(
> > __field( unsigned long, ip )
> > __field( int, nargs )
> > __dynamic_array(unsigned long, args )
> > ),
> >
> > F_printk("%lx nrargs:%u", __entry->ip, __entry->nargs)
> > );
> >
> >
> > This will put this event into the events/ftrace directory. Don't worry
> > about the printk format, we can write a plugin for it to override it if
> > need be.
>
> Hmm, interesting idea. But this dynamic event definition allows us
> to filter events based on each argument value.
>
> As you can see this code,
>
> >> +struct probe_arg {
> >> + struct fetch_func fetch;
> >> + const char *name;
> >> +};
>
> each argument can have unique name. Therefore user can write a filter
> by using these names.
>
> Moreover, dynamic events (at least kprobe-tracer) are going to support
> 'types' for each argument. this means that the arg[] in *probe_trace_entry
> will be no longer an unsigned long array.
>
> Thank you,


Yeah, I don't think we should FTRACE_ENTRY for that. The format files for
[k|u]probes events are created dynamically on top of what the user requested,
which is a very nice feature.



\
 
 \ /
  Last update: 2010-05-12 17:01    [W:0.535 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site