[lttng-dev] [for-next][PATCH 08/20] tracing: Warn if a tracepoint is not set via debugfs

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Thu Mar 13 11:24:46 EDT 2014


----- Original Message -----
> From: "Mathieu Desnoyers" <mathieu.desnoyers at efficios.com>
> To: "Steven Rostedt" <rostedt at goodmis.org>
> Cc: "Frank Ch. Eigler" <fche at redhat.com>, linux-kernel at vger.kernel.org, "Ingo Molnar" <mingo at kernel.org>, "Frederic
> Weisbecker" <fweisbec at gmail.com>, "Andrew Morton" <akpm at linux-foundation.org>, "Johannes Berg"
> <johannes.berg at intel.com>, "Linus Torvalds" <torvalds at linux-foundation.org>, "Peter Zijlstra"
> <peterz at infradead.org>, "Thomas Gleixner" <tglx at linutronix.de>, "Greg Kroah-Hartman" <gregkh at linuxfoundation.org>,
> "lttng-dev" <lttng-dev at lists.lttng.org>, "Rusty Russell" <rusty at rustcorp.com.au>, "Andi Kleen" <andi at firstfloor.org>
> Sent: Wednesday, March 12, 2014 11:10:53 PM
> Subject: Re: [for-next][PATCH 08/20] tracing: Warn if a tracepoint is not set via debugfs
> 
> ----- Original Message -----
> > From: "Steven Rostedt" <rostedt at goodmis.org>
> > To: "Mathieu Desnoyers" <mathieu.desnoyers at efficios.com>
> > Cc: "Frank Ch. Eigler" <fche at redhat.com>, linux-kernel at vger.kernel.org,
> > "Ingo Molnar" <mingo at kernel.org>, "Frederic
> > Weisbecker" <fweisbec at gmail.com>, "Andrew Morton"
> > <akpm at linux-foundation.org>, "Johannes Berg"
> > <johannes.berg at intel.com>, "Linus Torvalds"
> > <torvalds at linux-foundation.org>, "Peter Zijlstra"
> > <peterz at infradead.org>, "Thomas Gleixner" <tglx at linutronix.de>, "Greg
> > Kroah-Hartman" <gregkh at linuxfoundation.org>,
> > "lttng-dev" <lttng-dev at lists.lttng.org>, "Rusty Russell"
> > <rusty at rustcorp.com.au>, "Andi Kleen" <andi at firstfloor.org>
> > Sent: Wednesday, March 12, 2014 8:49:07 PM
> > Subject: Re: [for-next][PATCH 08/20] tracing: Warn if a tracepoint is not
> > set via debugfs
> > 
> > On Wed, 12 Mar 2014 19:51:01 +0000 (UTC)
> > Mathieu Desnoyers <mathieu.desnoyers at efficios.com> wrote:
> > 
> > > This only leaves tracepoints in header files and the impact of LTO as
> > > requirements for having tracepoint callsites with the same name across
> > > modules.
> > 
> > The only thing that needs to be unique is the struct tracepoint
> > __tracepoint_##name. There should not be any duplicates of those. I
> > can't see how the LTO would duplicate a data structure without screwing
> > everything (not just tracepoints) up.
> > 
> > We can still have more than one trace_##name() called, as that is
> > handled by the static key.
> 
> Hrm, I seem to have mixed up the concerns regarding compiler
> optimisations between the static keys with those related to tracepoints
> (including that their predecessors "kernel markers" worked more like
> static keys than tracepoint). I did work in both area pretty much at the
> same time back in 2007-2008.
> 
> Having gotten my head back up straight, I now see the point in your
> proposal. Thanks for bearing with me.
> 
> Even if we ever want to have tracepoints within header files, as long
> as we have the DECLARE_TRACE() within the header, and a DEFINE_TRACE()
> in one location in the loaded kernel image (or a loaded module we depend
> on), it should be possible too. All tracepoint.c cares about is the site
> defined by DEFINE_TRACE().

I just prepared a patch implementing your idea. I will post it as RFC very
soon. The callers will still need to be adapted, so this is just to show
the tracepoint.c/h modifications.

Thanks!

Mathieu

> 
> > 
> > Note, I'm scrambling to get ready for my trip tomorrow. Thus, I'm not
> > as much at the computer. I may work on some patches in my 6 hour
> > layover though.
> 
> Allright. Have a good trip!
> 
> Thanks,
> 
> Mathieu
> 
> > 
> > -- Steve
> > 
> 
> --
> Mathieu Desnoyers
> EfficiOS Inc.
> http://www.efficios.com
> 

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list