Re: [PATCH, RFC] sputrace: use the generic event tracer

From: Ingo Molnar
Date: Wed May 06 2009 - 10:47:35 EST



* Steven Rostedt <srostedt@xxxxxxxxxx> wrote:

>
> On Wed, 2009-05-06 at 13:23 +0200, Ingo Molnar wrote:
>
> > > > > +# magic for the trace events
> > > > > +CFLAGS_sched.o := -I$(src)
> > > >
> > > > Steve, i'm wondering whether this type of Makefile hackery (caused
> > > > by modular tracepoints) could be eliminated ...
> > >
> > > We would just have to include the header file with "" instead of
> > > <>. But I remember Steve not liking this when we talked about it.
> >
> > Yeah. But changing Makefiles isnt particularly clean either ...
> >
> > And adding -I$(src) can have side-effects: we often have a local
> > foo.h while an include/linux/foo.h as well.
>
> That still would not conflict, because
>
> #include "foo.h"
>
> will not include "linux/foo.h" and
>
> #include <linux/foo.h>
>
> will not include a local foo.h, unless there's also a local "linux"
> directory with a foo.h in it.
>
> The Makefile hack has to do with being able to have the "foo.h"
> file with the TRACE_EVENTs someplace other than include/trace.
>
> If the "foo.h" is in include/trace.h we do not need to include
> this hack. But because the include/trace/define_trace.h needs to
> include the "foo.h" file recursively, it must be able to find it.
> If we do not add a search path, include/trace/define_trace.h will
> not look in the other locations.
>
> Note, as Christoph did, we only need to add the include path to
> the file that defines "CREATE_TRACE_POINTS". Which is only one
> file.
>
> CFLAGS_sched.o := -I$(src)
>
> Only touches the sched.c file in that directory (Note, for those
> reading this thread out of context, this is not the same file as
> kernel/sched.c)

Yeah, i guess we can live with it. It still feels imperfect though.

(btw., find below a small typo fix)

Ingo

diff --git a/include/trace/define_trace.h b/include/trace/define_trace.h
index f7a7ae1..1d6fa17 100644
--- a/include/trace/define_trace.h
+++ b/include/trace/define_trace.h
@@ -1,5 +1,5 @@
/*
- * Trace files that want to automate creationg of all tracepoints defined
+ * Trace files that want to automate the creation of all tracepoints defined
* in their file should include this file. The following are macros that the
* trace file may define:
*
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/