LWN.net Logo

Re: [PATCH 0/18] Allow different tracers to be compiled independently

From:  Mathieu Desnoyers <mathieu.desnoyers-AT-efficios.com>
To:  Ingo Molnar <mingo-AT-elte.hu>
Subject:  Re: [PATCH 0/18] Allow different tracers to be compiled independently
Date:  Tue, 23 Mar 2010 08:27:47 -0400
Cc:  Theodore Tso <tytso-AT-MIT.EDU>, Frederic Weisbecker <fweisbec-AT-gmail.com>, Jan Kara <jack-AT-suse.cz>, Steven Rostedt <rostedt-AT-goodmis.org>, Thomas Gleixner <tglx-AT-linutronix.de>, Li Zefan <lizf-AT-cn.fujitsu.com>, Peter Zijlstra <a.p.zijlstra-AT-chello.nl>, Masami Hiramatsu <mhiramat-AT-redhat.com>, LKML <linux-kernel-AT-vger.kernel.org>, Douglas Santos <douglas.santos-AT-polymtl.ca>
Archive-link:  Article, Thread

* Ingo Molnar (mingo@elte.hu) wrote:
> 
> * Theodore Tso <tytso@MIT.EDU> wrote:
> 
> > 
> > On Mar 22, 2010, at 9:04 PM, Frederic Weisbecker wrote:
> > > 
> > > I don't know. Yeah this first looks like a good idea but once 
> > > CONFIG_EVENT_TRACING is enabled, each tracepoint is a lightweight thing 
> > > and induce a tiny overhead, probably hard to notice, and this is going to 
> > > be even more the case after the jmp label optimization patches.
> > > 
> > > I liked the fact we had a general tracing kernel once the above config is 
> > > selected. And we don't bother telling people that to use tool X you need 
> > > CONFIG_EVENT_Y, and you need to rebuild your kernel, etc...
> > 
> > Indeed, a lot of the value of tracepoints goes away if people are compiling 
> > kernels without them and we need to get a special "tracing kernel" installed 
> > before we can debug a problem.
> > 
> > So I'd hope we can do the necessary optimization work so people don't feel 
> > it's necessary to enable or disable tracepoints by subsystem....
> 
> Yeah, agreed. Ultra-embedded can disable them all, but other than that i think 
> we should not make it too finegrained as a lot of tooling value is in the 
> 'critical mass' that tracepoints have achieved. The power events tracepoints 
> are most useful when combined with scheduling events, etc.
> 

We're in complete agreement here. When I considered if it was worth it to create
such a per-tracepoint group compile-time disabling in the first place, I decided
not to do it precisely due to the added-value that comes with the availability
of system-wide tracepoints. And I think with the static jump patching, we are
now at a point where the overhead is stunningly low.

Now, space-wise, the one thing I would consider appropriate as a compromise for
small embedded systems would be to allow the TRACE_EVENT probes to be compiled
as modules.

Thanks,

Mathieu


-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com


(Log in to post comments)

Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds