[lkml]   [2009]   [Dec]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: trace/events: DECLARE vs DEFINE semantic
Steven Rostedt wrote:
> On Wed, 2009-12-02 at 23:00 -0500, Masami Hiramatsu wrote:
>> Mathieu Desnoyers wrote:
>>> In addition, I wonder if we should rename "CREATE_TRACE_POINTS" to
>>> something more suitable while we are here ? Basically, it will affect
>>> all TRACE_CLASS/TRACE_CLASS_EVENT/TRACE_EVENT from headers included
>>> after it's defined.
>> Agreed, CREATE_TRACE_POINTS is a bit irritating thing :-(
> Well, I think the name could use some help, but I don't think it is the
> name that irritates you.

Yes :-)

>> For example, if we call tracepoints defined in same-header on
>> several different files, we need to check other people have
>> already defined CREATE_TRACE_POINTS on another file, because
>> CREATE_TRACE_POINTS must be used once for each header...
>> So, how about introducing a c file which is only for defining
>> tracepoints for kernel parts ? or defining tracepoints in
>> kernel at the beginning of kernel/tracepoint.c ? (and don't
>> touch tracepoints in modules)
> I think the proper fix is to have each tracepoint header have its own C
> file. I believe Christoph does this with xfs.
> Basically, we should have a:
> kernel/sched_trace.c that includes the include/trace/events/sched.h and
> does the define.
> And the same goes for other trace points.

Hmm, I'd rather like to move it into kernel/events/ or something new
sub directory, since those files will have just two lines (define and

>> e.g.
>> @kernel/tracepoint.c
>> ...
>> #include <trace/events/sched.h>
>> #include <trace/events/...>
> We could do this for all that is defined in the include/trace/events.
>> ...
>> @kernel/sched.c
>> ...
>> #include <trace/events/sched.h> /* Just include events header */
>> ...
>> @fs/ext4/super.c (no change, since it can be module)
>> ...
>> #include <trace/events/ext4.h>
> Perhaps we should move out anything in include/trace/events that is also
> a module into its sub system?

Would you mean putting those headers in sub-system's directory?
(e.g. fs/ext4/)
In that case, a problem will happen when user want to hook those
tracepoint from their module, because it is hard to find those
local headers.

Thank you,

Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America), Inc.
Software Solutions Division


 \ /
  Last update: 2009-12-03 14:51    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean