From: Ingo Molnar <mingo@elte.hu>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: David Sharp <dhsharp@google.com>,
Vaibhav Nagarnaik <vnagarnaik@google.com>,
Michael Rubin <mrubin@google.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Arjan van de Ven <arjan@linux.intel.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Thomas Gleixner <tglx@linutronix.de>,
Christoph Hellwig <hch@infradead.org>,
Arnd Bergmann <arnd@arndb.de>
Subject: Re: Fix powerTOP regression with 2.6.39-rc5
Date: Tue, 10 May 2011 10:41:58 +0200 [thread overview]
Message-ID: <20110510084158.GC27426@elte.hu> (raw)
In-Reply-To: <1304996847.2969.151.camel@frodo>
* Steven Rostedt <rostedt@goodmis.org> wrote:
> > Check whether there's any feature missing from it that you'd like to see, add
> > it. Rinse, repeat.
>
> Again, the design of trace/perf is task oriented. Ftrace is system
> oriented. Could we agree on that?
Like i said in the previous mail, i don't know where you got this nonsensical
idea from. ftrace is indeed system oriented and that's hardcoded at the design
- i.e. its a design mistake.
perf is fundamentally *event* oriented - and various levels of grouping and
buffering can be applied to events.
'system wide', 'per cpu', 'per workload', 'per task' or 'per cgroup' are just
one of the many natural groupings of events that users/developers would like to
see - and we offer these.
- that is why sysprof is using perf events to collect system-wide events.
- that is why PowerTOP uses perf events in system-wide event collection mode.
- that is why 'perf top' uses system wide profiling by default (but can do per
CPU or per task profiling as well)
- that is why 'perf record' defaults to a per workload (not a per task as you
claim) mode of event collection
- that is why 'perf stat' defalts to per workload events
Do you see that it is ftrace that remained behind the times, by stubbornly
forcing some nonsensical global view and encoding it not only in its design but
in its APIs as well?
I really meant it when i told you that perf events were the natural next step
after ftrace, in the evolution of Linux tracing/instrumentation.
> > > Now that perf has entered the tracing field, I would be happy to bring
> > > the two together. [...]
> >
> > Great - please see tip:tmp.perf/trace, that would be a very good point to
> > start. It's a working prototype for an ftrace-alike tracing workflow.
>
> I'll do it, if we can agree about the ftrace as system tracing/debugging, and
> trace can focus on user specific tracing.
Ok, you've finally admitted that you do not really want 'unification' between
ftrace and perf - which was my suspicion all along. I really prefer 100% honest
discussions with people from whom i pull and it took quite some time for you to
admit to this position ...
Despite what you say perf and 'trace' can do system-wide tracing just fine:
$ trace record -a
^C
# trace recorded [205.108 MB] - try 'trace summary' to get an overview
( and note that the code in tip:tmp.perf/trace2 is a very early prototype,
barely tested - it just demonstrates the idea. )
In fact we could make 'trace' default to system-wide tracing by default and it
would fall back to workload level tracing only if it does not have the
privileges to trace the whole system.
Why not use the correctly designed tracing approach and enhance it, and merge
all the remaining useful bits of ftrace into it?
Thanks,
Ingo
next prev parent reply other threads:[~2011-05-10 8:42 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-06 20:08 Fix powerTOP regression with 2.6.39-rc5 Arjan van de Ven
2011-05-06 20:20 ` Steven Rostedt
2011-05-06 20:51 ` Linus Torvalds
2011-05-06 21:10 ` Steven Rostedt
2011-05-06 21:24 ` Linus Torvalds
2011-05-06 21:14 ` Steven Rostedt
2011-05-06 21:28 ` Linus Torvalds
2011-05-06 21:29 ` Arjan van de Ven
2011-05-06 21:57 ` Steven Rostedt
2011-05-07 6:58 ` Ingo Molnar
2011-05-07 10:45 ` Steven Rostedt
2011-05-07 14:44 ` Ingo Molnar
2011-05-07 17:20 ` Steven Rostedt
2011-05-07 17:59 ` Arjan van de Ven
2011-05-08 21:08 ` Frederic Weisbecker
2011-05-08 21:56 ` Arjan van de Ven
2011-05-07 19:00 ` Ingo Molnar
2011-05-10 3:07 ` Steven Rostedt
2011-05-10 4:44 ` Dave Chinner
2011-05-10 5:39 ` Steven Rostedt
2011-05-10 7:36 ` Dave Chinner
2011-05-10 7:54 ` Ingo Molnar
2011-05-10 8:09 ` Ingo Molnar
2011-05-10 8:32 ` Arjan van de Ven
2011-05-10 8:44 ` Ingo Molnar
2011-05-10 9:14 ` Pekka Enberg
2011-05-10 8:41 ` Ingo Molnar [this message]
2011-05-10 13:06 ` Steven Rostedt
2011-05-11 21:51 ` Ingo Molnar
2011-05-11 22:36 ` Steven Rostedt
2011-05-17 7:15 ` Michael Rubin
2011-05-17 11:19 ` Steven Rostedt
2011-05-17 13:24 ` David Ahern
2011-05-17 13:27 ` Steven Rostedt
2011-05-17 13:30 ` Ingo Molnar
2011-05-10 8:47 ` Ingo Molnar
2011-05-10 10:33 ` Steven Rostedt
2011-05-10 19:13 ` David Sharp
2011-05-09 23:37 ` David Sharp
2011-05-10 7:39 ` 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=20110510084158.GC27426@elte.hu \
--to=mingo@elte.hu \
--cc=a.p.zijlstra@chello.nl \
--cc=arjan@linux.intel.com \
--cc=arnd@arndb.de \
--cc=dhsharp@google.com \
--cc=fweisbec@gmail.com \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mrubin@google.com \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=vnagarnaik@google.com \
/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.