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

Peter Zijlstra
2009-04-14T19:23:57Z

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.