Messages in this thread | | | Subject | Re: trace/events: DECLARE vs DEFINE semantic | From | Steven Rostedt <> | Date | Wed, 02 Dec 2009 23:07:08 -0500 |
| |
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.
> > 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.
> > 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?
> ... > > Hmm?
Hrmmm?
-- Steve
| |