From: Ingo Molnar <mingo@elte.hu>
To: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Arjan van de Ven <arjan@infradead.org>,
linux-kernel@vger.kernel.org, sandmann@redhat.com, tglx@tglx.de,
hpa@zytor.com
Subject: Re: [PATCH] x86: add the debugfs interface for the sysprof tool
Date: Sat, 23 Feb 2008 13:22:22 +0100 [thread overview]
Message-ID: <20080223122222.GA323@elte.hu> (raw)
In-Reply-To: <84144f020802230351o24b11282vbb1cecf518d91825@mail.gmail.com>
* Pekka Enberg <penberg@cs.helsinki.fi> wrote:
> On Sat, Feb 23, 2008 at 10:11 AM, Andrew Morton
> <akpm@linux-foundation.org> wrote:
> > Seems a poor idea to me. Sure, oprofile is "hard to set up", but not if
> > your distributor already did it for you.
>
> Have you tried sysprof? It's really nice to setup and use compared to
> oprofile when profiling user-space.
yes, it's very nice and very usable - and that's all that matters
really. It's almost a _duty_ of the mainstream kernel to include that
trivial 200 lines of sysprof code, given how poor instrumentation
support is on Linux.
As a comparison, here's a session of a newbie developer, meeting
oprofile for the first time in his life (using a fresh package,
oprofile-0.9.3-6.fc8):
---------------------->
[ Newbie: WTF, no GUI tool? ]
[ Narrator: we lose 90% of the developers at this point. ]
[ Newbie is adventurous and has heard about opcontrol and tries it. ]
# opcontrol
[ Newbie sees tons of output. User scratches head. After looking
around, finds the following option listed:
"-s/--start start data collection". That must be it! ]
# opcontrol -s
No vmlinux file specified. You must specify the correct vmlinux file, e.g.
opcontrol --vmlinux=/path/to/vmlinux
If you do not have a vmlinux file, use
opcontrol --no-vmlinux
Enter opcontrol --help for full options
[ Newbie: WTF? Doesnt oprofile think that what I want to do is to
profile ... the currently running kernel, wherever a kernel is
and whatever a vmlinux might be?? ]
[ Narrator: At this point oprofile has confused about 99% of all
user-space developers who have no freaking idea about what a vmlinux
is. ]
[ Newbie user figures that --no-vmlinux might be the right option: ]
# opcontrol -s --no-vmlinux
Option "--setup" not valid with "-s".
[ Newbie: WTF? what not valid? Why should i care? Damnit, i only want
to profile stuff!!! ]
[ The newbie user eventually finds out that opcontrol help text is
buggy and that -s does not mean --start, but --setup. ]
[ Narrator: we now have lost 99.99% of the first-time users. ]
[ Newbie, armed with this nontrivial piece of information: ]
# opcontrol --start --no-vmlinux
Using default event: CPU_CLK_UNHALTED:100000:0:1:1
Using 2.6+ OProfile kernel interface.
Using log file /var/lib/oprofile/samples/oprofiled.log
Daemon started.
Profiler running.
[ Newbie: wow, it's working! Lets start an infinite loop and lets try
this opreport thing: ]
# opreport
CPU_CLK_UNHALT...|
samples| %|
------------------
160405 82.9309 loop
[ Newbie: hm, i see where the overhead is - but which function is
calling it? ]
[ Newbie user wants to restart profiling and figures that
opcontrol --reset will do that: ]
# opcontrol --reset
Signalling daemon... done
[ GREAT! It even said "done". Now lets see our new profile: ]
# opreport
opreport error: No sample file found: try running opcontrol --dump
or specify a session containing sample files
[ Newbie: WTF???? ]
[ Narrator: we've now lost 99.99999% of the testers at this point. The
reamining 10 kernel developers still using oprofile have written up
all the commands to the back of their keyboards, for easy reference. ]
<----------------------
We should hang our collective heads in shame. Oprofile is an utter joke
in terms of usability. It had 5-10 years to get its stuff together and
didnt.
200 lines of totally isolated sysprof code is the least thing we can do
which we _must do_ to help our users.
Ingo
next prev parent reply other threads:[~2008-02-23 12:22 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-19 20:37 [PATCH] x86: add the debugfs interface for the sysprof tool Arjan van de Ven
2008-02-20 9:10 ` Ingo Molnar
2008-02-26 4:13 ` Anton Blanchard
2008-02-26 8:57 ` Ingo Molnar
2008-02-20 18:16 ` Peter Zijlstra
2008-02-20 18:39 ` Arjan van de Ven
2008-02-20 18:53 ` Peter Zijlstra
2008-02-20 18:58 ` Peter Zijlstra
2008-02-26 5:03 ` Anton Blanchard
2008-02-20 19:26 ` Arjan van de Ven
2008-02-20 20:58 ` Peter Zijlstra
2008-02-20 21:07 ` Arjan van de Ven
2008-02-20 21:44 ` Peter Zijlstra
2008-02-20 22:36 ` Arjan van de Ven
2008-02-23 8:11 ` Andrew Morton
2008-02-23 11:37 ` Ingo Molnar
2008-02-23 13:53 ` John Levon
2008-02-23 15:50 ` Ingo Molnar
2008-02-23 20:15 ` Soeren Sandmann
2008-02-23 20:42 ` Andrew Morton
2008-02-26 5:13 ` Anton Blanchard
2008-02-26 9:02 ` Ingo Molnar
2008-02-26 17:29 ` Andrew Morton
2008-02-27 14:05 ` Anton Blanchard
2008-02-24 13:10 ` Theodore Tso
2008-02-24 13:44 ` Ingo Molnar
2008-02-24 14:33 ` Ingo Molnar
2008-02-24 16:32 ` John Levon
2008-02-24 18:19 ` Theodore Tso
2008-02-23 18:40 ` Andrew Morton
2008-02-23 11:51 ` Pekka Enberg
2008-02-23 12:22 ` Ingo Molnar [this message]
2008-02-23 12:29 ` Pekka Enberg
2008-02-23 18:46 ` Andrew Morton
2008-02-24 2:49 ` Pekka Enberg
2008-02-24 3:12 ` Nicholas Miell
2008-02-26 6:27 ` Pekka Enberg
2008-02-26 6:48 ` Pekka Enberg
2008-02-26 8:55 ` Ingo Molnar
2008-02-23 14:54 ` Pekka Enberg
2008-02-23 19:01 ` Andrew Morton
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=20080223122222.GA323@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=penberg@cs.helsinki.fi \
--cc=sandmann@redhat.com \
--cc=tglx@tglx.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.