Messages in this thread | | | Date | Tue, 14 Apr 2009 20:40:02 -0700 | Subject | Re: [PATCH 5/8] tracing/events: move the ftrace event tracing code to core | From | Jiaying Zhang <> |
| |
I think merging these structures together can also allow you to move certain parts of code to the general functions in kernel/trace/trace_events.c so you don't need to define those functions for individual events.
Jiaying
On Tue, Apr 14, 2009 at 7:25 PM, Steven Rostedt <rostedt@goodmis.org> wrote: > > 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 > >
| |