Re: [PATCH 3/7] ftrace, perf: Add open/close tracepoint perfregistration actions

From: Jiri Olsa
Date: Fri Feb 03 2012 - 05:23:43 EST


On Thu, Feb 02, 2012 at 06:35:06PM +0100, Frederic Weisbecker wrote:
> On Sat, Jan 28, 2012 at 07:43:25PM +0100, Jiri Olsa wrote:
> > Adding TRACE_REG_PERF_OPEN and TRACE_REG_PERF_CLOSE to differentiate
> > register/unregister from open/close actions.
> >
> > The register/unregister actions are invoked for the first/last
> > tracepoint user when opening/closing the event.
> >
> > The open/close actions are invoked for each tracepoint user when
> > opening/closing the event.
> >
> > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> > ---
> > include/linux/ftrace_event.h | 6 +-
> > kernel/trace/trace.h | 5 ++
> > kernel/trace/trace_event_perf.c | 116 +++++++++++++++++++++++++--------------
> > kernel/trace/trace_events.c | 10 ++-
> > kernel/trace/trace_kprobe.c | 6 ++-
> > kernel/trace/trace_syscalls.c | 14 +++-
> > 6 files changed, 106 insertions(+), 51 deletions(-)
> >
> > diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h
> > index c3da42d..195e360 100644
> > --- a/include/linux/ftrace_event.h
> > +++ b/include/linux/ftrace_event.h
> > @@ -146,6 +146,8 @@ enum trace_reg {
> > TRACE_REG_UNREGISTER,
> > TRACE_REG_PERF_REGISTER,
> > TRACE_REG_PERF_UNREGISTER,
> > + TRACE_REG_PERF_OPEN,
> > + TRACE_REG_PERF_CLOSE,
> > };
> >
> > struct ftrace_event_call;
> > @@ -157,7 +159,7 @@ struct ftrace_event_class {
> > void *perf_probe;
> > #endif
> > int (*reg)(struct ftrace_event_call *event,
> > - enum trace_reg type);
> > + enum trace_reg type, void *data);
> > int (*define_fields)(struct ftrace_event_call *);
> > struct list_head *(*get_fields)(struct ftrace_event_call *);
> > struct list_head fields;
> > @@ -165,7 +167,7 @@ struct ftrace_event_class {
> > };
> >
> > extern int ftrace_event_reg(struct ftrace_event_call *event,
> > - enum trace_reg type);
> > + enum trace_reg type, void *data);
> >
> > enum {
> > TRACE_EVENT_FL_ENABLED_BIT,
> > diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
> > index 55c6ea0..0eaf077 100644
> > --- a/kernel/trace/trace.h
> > +++ b/kernel/trace/trace.h
> > @@ -828,4 +828,9 @@ extern const char *__stop___trace_bprintk_fmt[];
> > FTRACE_ENTRY(call, struct_name, id, PARAMS(tstruct), PARAMS(print))
> > #include "trace_entries.h"
> >
> > +#ifdef CONFIG_PERF_EVENTS
> > +int perf_ftrace_event_register(struct ftrace_event_call *call,
> > + enum trace_reg type, void *data);
> > +#endif
>
> Seem to belong to a further patch. Nevermind.
>
> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>

right, I'll make the change in new version

thanks,
jirka
--
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/