From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Vince Weaver <vince@deater.net>
Cc: Ingo Molnar <mingo@elte.hu>,
linux-kernel@vger.kernel.org,
Thomas Gleixner <tglx@linutronix.de>,
Andrew Morton <akpm@linux-foundation.org>,
Stephane Eranian <eranian@googlemail.com>,
Eric Dumazet <dada1@cosmosbay.com>,
Robert Richter <robert.richter@amd.com>,
Arjan van de Veen <arjan@infradead.org>,
Peter Anvin <hpa@zytor.com>, Paul Mackerras <paulus@samba.org>,
"David S. Miller" <davem@davemloft.net>
Subject: Re: [patch] Performance Counters for Linux, v3
Date: Fri, 12 Dec 2008 09:25:45 +0100 [thread overview]
Message-ID: <1229070345.12883.12.camel@twins> (raw)
In-Reply-To: <Pine.LNX.4.64.0812111247510.22556@pianoman.cluster.toy>
On Thu, 2008-12-11 at 13:02 -0500, Vince Weaver wrote:
> I have at least 60 machines that I do regular performance counter work on.
> They involve Pentium Pro, Pentium II, 32-bit Athlon, 64-bit Athlon,
> Pentium 4, Pentium D, Core, Core2, Atom, MIPS R12k, Niagara T1,
> and PPC/Playstation 3.
Good.
> Perfmon3 works for all of those 60 machines. This new proposal works on a
> 2 out of the 60.
s/works/is implemented/
> Who is going to add support for all of those machines? I've spent a lot
> of developer time getting prefmon going for all of those configurations.
> But why should I help out with this new inferior proposal? It could all
> be another waste of time.
So much for constructive critisism.. have you tried taking the design to
its limits, if so, where do you see problems?
I read the above as: I invested a lot of time in something of dubious
statue (out of tree patch), and now expect it to be merged because I
have invested in it.
> Also, my primary method of using counters is total aggregate count for a
> single user-space process.
Process, as in single thread, or multi-threaded? I'll assume
single-thread.
> Can this new infrastructure to this?
Yes, afaict it can.
You can group counters in v3, a read out of such a group will be an
atomic read out and provide vectored output that contains all the data
in one stream.
> I find the documentation/tools support to be very incomplete.
Gosh, what does one expect from something that is hardly a week old..
> One comment on the patch.
>
> > + /*
> > + * Common hardware events, generalized by the kernel:
> > + */
> > + PERF_COUNT_CYCLES = 0,
> > + PERF_COUNT_INSTRUCTIONS = 1,
> > + PERF_COUNT_CACHE_REFERENCES = 2,
> > + PERF_COUNT_CACHE_MISSES = 3,
> > + PERF_COUNT_BRANCH_INSTRUCTIONS = 4,
> > + PERF_COUNT_BRANCH_MISSES = 5,
>
> Many machines do not support these counts. For example, Niagara T1 does
> not have a CYCLES count. And good luck if you think you can easily come
> up with something meaningful for the various kind of CACHE_MISSES on the
> Pentium 4. Also, the Pentium D has various flavors of retired instruction
> count with slightly different semantics. This kind of abstraction should
> be done in userspace.
I'll argue to disagree, sure such events might not be supported by any
particular hardware implementation - but the fact that PAPI gives a list
of 'common' events means that they are, well, common. So unifying them
between those archs that do implement them seems like a sane choice, no?
For those archs that do not support it, it will just fail to open. No
harm done.
The proposal allows for you to specify raw hardware events, so you can
just totally ignore this part of the abstraction.
next prev parent reply other threads:[~2008-12-12 8:26 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-11 15:52 [patch] Performance Counters for Linux, v3 Ingo Molnar
2008-12-11 18:02 ` Vince Weaver
2008-12-12 8:25 ` Peter Zijlstra [this message]
2008-12-12 8:35 ` stephane eranian
2008-12-12 8:51 ` Peter Zijlstra
2008-12-12 9:00 ` Peter Zijlstra
2008-12-12 9:07 ` Ingo Molnar
2008-12-12 8:59 ` stephane eranian
2008-12-12 9:23 ` Peter Zijlstra
2008-12-12 10:21 ` Robert Richter
2008-12-12 10:59 ` Christoph Hellwig
2008-12-12 11:35 ` Robert Richter
2008-12-12 16:45 ` Chris Friesen
2008-12-12 17:42 ` stephane eranian
2008-12-12 18:01 ` stephane eranian
2008-12-12 19:45 ` Chris Friesen
2008-12-15 14:50 ` stephane eranian
2008-12-15 22:32 ` Chris Friesen
2008-12-17 7:45 ` stephane eranian
2008-12-14 23:13 ` Ingo Molnar
2008-12-15 0:37 ` Paul Mackerras
2008-12-15 12:58 ` stephane eranian
2008-12-15 14:42 ` stephane eranian
2008-12-15 20:58 ` stephane eranian
2008-12-15 22:53 ` Paul Mackerras
2008-12-13 11:17 ` Peter Zijlstra
2008-12-13 13:48 ` Henrique de Moraes Holschuh
2008-12-13 17:44 ` stephane eranian
2008-12-14 1:02 ` Paul Mackerras
2008-12-14 22:37 ` Ingo Molnar
2008-12-15 0:50 ` Paul Mackerras
2008-12-15 13:02 ` stephane eranian
2008-12-12 17:03 ` Samuel Thibault
2008-12-12 17:11 ` Peter Zijlstra
2008-12-12 18:18 ` Vince Weaver
2008-12-11 18:35 ` Andrew Morton
2008-12-12 6:22 ` Ingo Molnar
2008-12-11 19:11 ` Tony Luck
2008-12-11 19:34 ` Ingo Molnar
2008-12-12 8:29 ` Peter Zijlstra
2008-12-12 8:54 ` Ingo Molnar
2008-12-12 13:42 ` Andi Kleen
2008-12-14 14:51 ` Performance counter API review was " Andi Kleen
2009-02-02 20:03 ` Corey Ashford
2009-02-02 20:33 ` Peter Zijlstra
2009-02-03 16:53 ` Maynard Johnson
2009-02-04 2:18 ` Paul Mackerras
2009-02-04 2:32 ` Nathan Lynch
2009-02-04 8:45 ` Peter Zijlstra
2009-02-04 10:47 ` Paul Mackerras
2009-02-04 10:51 ` Peter Zijlstra
-- strict thread matches above, loose matches on Subject: below --
2008-12-11 22:05 William Cohen
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=1229070345.12883.12.camel@twins \
--to=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=dada1@cosmosbay.com \
--cc=davem@davemloft.net \
--cc=eranian@googlemail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=robert.richter@amd.com \
--cc=tglx@linutronix.de \
--cc=vince@deater.net \
/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