From: Ingo Molnar <mingo@elte.hu>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>,
Steven Rostedt <rostedt@goodmis.org>,
LKML <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <peterz@infradead.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Theodore Tso <tytso@mit.edu>,
Arjan van de Ven <arjan@infradead.org>,
Pekka Paalanen <pq@iki.fi>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Jason Baron <jbaron@redhat.com>, Martin Bligh <mbligh@google.com>,
Mathieu Desnoyers <compudj@krystal.dyndns.org>,
"Frank Ch. Eigler" <fche@redhat.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Jens Axboe <jens.axboe@oracle.com>,
Masami Hiramatsu <mhiramat@redhat.com>,
Steven Rostedt <srostedt@redhat.com>
Subject: Re: [PATCH 2/4] tracing: add event trace infrastructure
Date: Wed, 25 Feb 2009 11:27:25 +0100 [thread overview]
Message-ID: <20090225102725.GE12352@elte.hu> (raw)
In-Reply-To: <20090225020254.97be7715.akpm@linux-foundation.org>
* Andrew Morton <akpm@linux-foundation.org> wrote:
> On Wed, 25 Feb 2009 10:56:23 +0100 Ingo Molnar <mingo@elte.hu> wrote:
>
> > Since the concept of a kernel tracing facility being
> > self-sufficient and being easy to use is an integral and key
> > concept to ftrace, dont you see why people take your
> > suggestions as a dismissal of the ftrace concept?
>
> Nothing I've suggested in any way makes ftrace hard to use.
Note that everything you suggest is _already possible_, if you
switch on the 'make simple output' option. It's just that the
human-readable format is the default one.
So i think your suggestion does make ftrace harder to use, in a
number of ways:
- There's one more extra tool to be installed on the target
machine. That target machine might not even have any build
environment - but tracing on it can still be very useful to
pin down bugs and regressions.
Self-sufficient kernel instrumentation is a key concept to
usability.
- That tool will break the current intuitive shell-commands and
scripting flow that is based on human readable text output.
In ftrace we try to strike a good balance between easy
scriptability and pretty-printing. The two go hand in hand
usually so it's not a big task. If you look at the current
/debug/tracing/trace output you'll find a lot of small
details that we've put in there to make it easy to script -
while still being nice to read. [suggestions to improve it
are welcome.]
Your suggestion pushes that completely to the 'minimal
output' direction, with no tangible benefit to scripting, and
with a lot of damage to readability and usability. A separate
pretty-printing tool would just add an extra unnecessary step
and would make the workflow more clumsy. This too is a clear
step backwards.
- Plus the extra effort of defining APIs and ABIs to it and the
extra effort to make it work on all kernel versions. It all
takes away resources from making tracing more useful in
practice so it indirectly hurts instrumentation usability.
Tracing development manpower is a zero-sum game. If you force
people to maintain silly APIs you take away time from other,
more important areas. It might even be a negative-sum game:
developing something that looks ugly and is hard to use
attracts less developers. Tracing under Linux was in such a
zombie state for a decade and ftrace clearly changed that
picture. I dont subscribe to the view that tracing has to be
stupid and boring.
I.e. i dont see many upsides of your suggestion, and i see a lot
of downsides.
IMO pretty-printing in the kernel should not be made a religious
argument but a technical argument. Pretty-printing is a tool,
and as a tool it sometimes can be used for silly purposes, and
sometimes it can be used for helpful purposes. You seem to argue
that doing it in the kernel is always silly - and i strongly
disagree with that and consider it an extreme-end position - for
the reasons outlined above.
Ingo
next prev parent reply other threads:[~2009-02-25 10:31 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-25 2:56 [PATCH 0/4] [git pull] tip/tracing/ftrace Steven Rostedt
2009-02-25 2:56 ` [PATCH 1/4] tracing: add DEFINE_TRACE_FMT to tracepoint.h Steven Rostedt
2009-02-25 6:27 ` Peter Zijlstra
2009-02-25 13:01 ` Steven Rostedt
2009-02-25 16:09 ` Mathieu Desnoyers
2009-02-25 16:13 ` Mathieu Desnoyers
2009-02-25 16:28 ` Steven Rostedt
2009-02-25 16:33 ` Ingo Molnar
2009-02-25 2:56 ` [PATCH 2/4] tracing: add event trace infrastructure Steven Rostedt
2009-02-25 3:45 ` Andrew Morton
2009-02-25 4:08 ` Steven Rostedt
2009-02-25 4:24 ` Nick Piggin
2009-02-25 4:33 ` Andrew Morton
2009-02-25 5:16 ` Mathieu Desnoyers
2009-02-25 8:11 ` Ingo Molnar
2009-02-25 8:28 ` Andrew Morton
2009-02-25 8:40 ` Ingo Molnar
2009-02-25 9:15 ` Andrew Morton
2009-02-25 9:00 ` Pekka Enberg
2009-02-25 9:10 ` Ingo Molnar
2009-02-25 9:22 ` Andrew Morton
2009-02-25 9:26 ` Peter Zijlstra
2009-02-25 10:31 ` Ingo Molnar
2009-02-25 9:33 ` Pekka Enberg
2009-02-25 9:44 ` Andrew Morton
2009-02-25 9:56 ` Ingo Molnar
2009-02-25 10:02 ` Andrew Morton
2009-02-25 10:24 ` Pekka Enberg
2009-02-25 10:27 ` Ingo Molnar [this message]
2009-02-25 16:21 ` Frederic Weisbecker
2009-02-25 9:57 ` Pekka Enberg
2009-02-25 10:07 ` [PATCH] tracing: remove /debug/tracing/latency_trace Ingo Molnar
2009-02-25 14:41 ` [PATCH 2/4] tracing: add event trace infrastructure Steven Rostedt
2009-02-25 15:57 ` Ingo Molnar
2009-02-25 16:09 ` Steven Rostedt
2009-02-25 22:48 ` Steven Rostedt
2009-02-26 3:19 ` Ingo Molnar
2009-02-25 13:54 ` Theodore Tso
2009-02-26 21:08 ` Frank Ch. Eigler
2009-03-01 10:37 ` KOSAKI Motohiro
2009-02-25 13:37 ` Theodore Tso
2009-02-25 14:10 ` Steven Rostedt
2009-02-25 9:07 ` Lai Jiangshan
2009-02-25 13:50 ` Steven Rostedt
2009-02-25 9:21 ` Lai Jiangshan
2009-02-25 13:54 ` Steven Rostedt
2009-02-25 2:56 ` [PATCH 3/4] tracing: add schedule events to event trace Steven Rostedt
2009-02-25 6:29 ` Peter Zijlstra
2009-02-25 2:56 ` [PATCH 4/4] tracing: make event directory structure Steven Rostedt
2009-02-25 6:59 ` Frederic Weisbecker
2009-02-25 13:07 ` Steven Rostedt
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=20090225102725.GE12352@elte.hu \
--to=mingo@elte.hu \
--cc=acme@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=compudj@krystal.dyndns.org \
--cc=fche@redhat.com \
--cc=fweisbec@gmail.com \
--cc=jbaron@redhat.com \
--cc=jens.axboe@oracle.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@google.com \
--cc=mhiramat@redhat.com \
--cc=penberg@cs.helsinki.fi \
--cc=peterz@infradead.org \
--cc=pq@iki.fi \
--cc=rostedt@goodmis.org \
--cc=srostedt@redhat.com \
--cc=tglx@linutronix.de \
--cc=tytso@mit.edu \
/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