Patchwork [RFC] sputrace: use the generic event tracer

login
register
mail settings
Submitter Ingo Molnar
Date May 6, 2009, 2:47 p.m.
Message ID <20090506144708.GC29044@elte.hu>
Download mbox | patch
Permalink /patch/26916/
State New
Headers show

Comments

Ingo Molnar - May 6, 2009, 2:47 p.m.
* Steven Rostedt <srostedt@redhat.com> 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
Steven Rostedt - May 6, 2009, 2:59 p.m.
On Wed, 2009-05-06 at 16:47 +0200, Ingo Molnar wrote:
> * Steven Rostedt <srostedt@redhat.com> 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.

Yeah, I dislike it too. But this is a limitation on CPP. When we get
sparse to replace CPP then we can fix it there ;-)

> 
> (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:
>   *

Thanks,

-- Steve

Patch

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