lkml.org 
[lkml]   [2009]   [Dec]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    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
    include).

    >> e.g.
    >>
    >> @kernel/tracepoint.c
    >> ...
    >> #define CREATE_TRACE_POINTS
    >> #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)
    >> ...
    >> #define CREATE_TRACE_POINTS
    >> #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

    e-mail: mhiramat@redhat.com



    \
     
     \ /
      Last update: 2009-12-03 14:51    [W:0.023 / U:36.604 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site