Re: [PATCH 5/8] tracing/events: move the ftrace event tracing code to core

Steven Rostedt
2009-04-15T02:26:19Z

On Tue, 14 Apr 2009, Peter Zijlstra wrote:

> On Tue, 2009-04-14 at 13:23 -0400, Steven Rostedt wrote:
> > + * static struct trace_event ftrace_event_type_<call> = {
> > + * .trace = ftrace_raw_output_<call>, <-- stage 2
> > + * };
>
> > + * static struct ftrace_event_call __used
> > + * __attribute__((__aligned__(4)))
> > + * __attribute__((section("_ftrace_events"))) event_<call> = {
> > + * .name = "<call>",
> > + * .system = "<system>",
> > + * .raw_init = ftrace_raw_init_event_<call>,
> > + * .regfunc = ftrace_reg_event_<call>,
> > + * .unregfunc = ftrace_unreg_event_<call>,
> > + * .show_format = ftrace_format_<call>,
> > + * }
>
> Is there a good reason these are two different structs?
>
> I've always wondered about that, it seems natural to unify them and to
> generalize the reverse lookup hash that is now private to trace_output.
>
> The trace_event_profile code could use that reverse lookup, that linear
> search it currently does it really lame.

Hmm, I'll have to look at that. Of course that means touching these crazy
macros again ;-)

-- Steve