From: Peter Zijlstra <peterz@infradead.org>
To: Theodore Tso <tytso@mit.edu>
Cc: Steven Rostedt <rostedt@goodmis.org>,
"Frank Ch. Eigler" <fche@redhat.com>, Ingo Molnar <mingo@elte.hu>,
Randy Dunlap <randy.dunlap@oracle.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
linux-kernel@vger.kernel.org, zippel@linux-m68k.org,
linux-kbuild@vger.kernel.org
Subject: Re: [PATCH] tracing/markers: make markers select tracepoints
Date: Mon, 23 Feb 2009 23:16:59 +0100 [thread overview]
Message-ID: <1235427419.4645.959.camel@laptop> (raw)
In-Reply-To: <20090223183220.GE19739@mit.edu>
On Mon, 2009-02-23 at 13:32 -0500, Theodore Tso wrote:
> On Mon, Feb 23, 2009 at 12:31:31PM -0500, Steven Rostedt wrote:
> > > The impression that this is somehow different with tracepoints is
> > > mistaken. Tracepoints are *exactly* as "ABI-like" as markers.
> >
> > I disagree with this point. markers are text strings that will eventually
> > appear to userspace. trace points need translation. A trace point can be
> > modified at any time and should never mess up user apps.
> >
> > You may have a hook to a trace point that provides user apps a text based
> > output. If the trace point changes, this hook may break. But the tracer
> > maintainer of that hook will be responsible for that change, not the
> > maintainer of the code the tracepoint existed in.
>
> So stupid question time --- exactly who is supposed to write and
> maintain trnaslation code; the "hook"? What trace points have done is
> added an extra layer of indirection, but in order for someone to
> actually make *use* of the have the trace point, someone has to
> maintain the "hook".
That just means we have to make it easier to write/generate this glue,
no? If we had function argument debug data (see below) we could generate
a generic tracepoint hook.
> I'm sorry I've offended Peter with the ext4 trace_mark() hooks, but
> it's what I could forsee needing if someone wants reports a wierd sh*t
> bug in ext4 and I wanted to be able to be able to extract debugging
> information without forcing them to patch and recompile the kernel,
> and in the ideal world, without even needing to reboot the kernel.
> (If we had usable and reliable debuginfo information, in most cases
> I'd be able simply use access to function parameters as replacements
> for trace_mark().)
We're working on adding arguments to the function/graph tracer, it would
fit all your above requirements and doesn't need any source modification
to boot.
Furthermore, most of it is upstream.
> I've had to debug problems in the field on customer machines where
> installing a new kernel was a big deal (as in, you get a window to
> reboot the machine every 24 hours, and the problem is so complex you
> can't replicate it anywhere *but* the production environment). It's
> also been the case that more than once I've seen wierd behaviour on my
> laptop, and being able to peer inside it to see what is going on
> easily and conveniently is a major win.
Yeah, I know, the function graph tracer is brilliant that way. It even
provides information on the rest of the system and requires no
additional patches or big lumps of userspace.
> Finally, whether or not the text string is an ABI really depends on
> the tools. Given that the string is self describing, it's only an ABI
> if the tools are stupid.
> This really isn't rocket science....
It isn't, yet how many scripts/programs have you seen that failed at the
above?
next prev parent reply other threads:[~2009-02-23 22:17 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-20 16:34 [PATCH] tracing/markers: make markers select tracepoints Frederic Weisbecker
2009-02-20 16:59 ` Randy Dunlap
2009-02-20 17:20 ` Frederic Weisbecker
2009-02-20 17:22 ` Ingo Molnar
2009-02-20 17:29 ` Randy Dunlap
2009-02-20 17:31 ` Frederic Weisbecker
2009-02-20 17:48 ` Ingo Molnar
2009-02-20 18:56 ` Jason Baron
2009-02-21 3:15 ` Frederic Weisbecker
2009-02-21 22:04 ` Frank Ch. Eigler
2009-02-22 17:13 ` Ingo Molnar
2009-02-22 17:38 ` Frank Ch. Eigler
2009-02-23 10:13 ` Avi Kivity
2009-02-22 3:23 ` KOSAKI Motohiro
2009-02-22 11:37 ` Peter Zijlstra
2009-02-22 16:04 ` Mathieu Desnoyers
2009-02-22 11:43 ` Peter Zijlstra
2009-02-22 12:08 ` Frank Ch. Eigler
2009-02-22 12:14 ` Peter Zijlstra
2009-02-22 12:24 ` Frank Ch. Eigler
2009-02-23 11:11 ` Peter Zijlstra
2009-02-23 15:44 ` Frank Ch. Eigler
2009-02-23 16:22 ` Peter Zijlstra
2009-02-23 17:10 ` Frank Ch. Eigler
2009-02-23 17:23 ` Ingo Molnar
2009-02-24 13:01 ` Frank Ch. Eigler
2009-02-23 17:31 ` Steven Rostedt
2009-02-23 18:32 ` Theodore Tso
2009-02-23 22:16 ` Peter Zijlstra [this message]
2009-02-23 22:41 ` Theodore Tso
2009-02-24 8:55 ` Peter Zijlstra
2009-02-23 0:23 ` Steven Rostedt
2009-02-21 5:24 ` [PATCH][RFC] check for select dependency errors on config load Steven Rostedt
2009-02-21 5:58 ` Andrew Morton
2009-02-21 6:08 ` Andrew Morton
2009-02-21 6:20 ` Randy Dunlap
2009-02-21 20:07 ` Steven Rostedt
2009-02-21 20:46 ` [PATCH v2] kconfig: " Steven Rostedt
2009-02-21 20:48 ` Steven Rostedt
2009-02-21 21:51 ` Sam Ravnborg
2009-02-21 21:53 ` Steven Rostedt
2009-02-22 16:23 ` [PATCH][RFC] " Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1235427419.4645.959.camel@laptop \
--to=peterz@infradead.org \
--cc=fche@redhat.com \
--cc=fweisbec@gmail.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=randy.dunlap@oracle.com \
--cc=rostedt@goodmis.org \
--cc=tytso@mit.edu \
--cc=zippel@linux-m68k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox