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

Jiaying Zhang
2009-04-15T03:40:24Z

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
>
>