Re: [PATCH][RFC] tracing: Use class->reg() for all registering of events

Steven Rostedt
2010-06-10T18:41:14Z

On Tue, 2010-06-08 at 15:10 -0400, Steven Rostedt wrote:
> On Tue, 2010-06-08 at 23:05 +0530, Srikar Dronamraju wrote:
> > > On Tue, 2010-06-08 at 11:33 -0400, Steven Rostedt wrote:
>
> > I tested the patch and it fixed the regression where
> > perf record -e probe:do_fork -aR sleep 1 would fail.
> >
>
> Thanks! Unfortunately the patch does two things, one is to fix this
> regression, the other is a clean up. Linus is currently only wanting
> fixes now and may not accept the clean up part of this patch. Can you
> test the patch below. It only addresses the regression.
>

Peter,

Can I get an Acked-by from you on this patch? I know you acked the clean
up version. But this is a minimal fix for .35. We'll add the clean up
version to .36.

Thanks,

-- Steve

> diff --git a/kernel/trace/trace_event_perf.c b/kernel/trace/trace_event_perf.c
> index e6f6588..8a2b73f 100644
> --- a/kernel/trace/trace_event_perf.c
> +++ b/kernel/trace/trace_event_perf.c
> @@ -96,7 +96,9 @@ int perf_trace_init(struct perf_event *p_event)
> mutex_lock(&event_mutex);
> list_for_each_entry(tp_event, &ftrace_events, list) {
> if (tp_event->event.type == event_id &&
> - tp_event->class && tp_event->class->perf_probe &&
> + tp_event->class &&
> + (tp_event->class->perf_probe ||
> + tp_event->class->reg) &&
> try_module_get(tp_event->mod)) {
> ret = perf_trace_event_init(tp_event, p_event);
> break;
>