All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vince Weaver <vince@deater.net>
To: Ingo Molnar <mingo@elte.hu>
Cc: 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>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Paul Mackerras <paulus@samba.org>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [patch] Performance Counters for Linux, v3
Date: Thu, 11 Dec 2008 13:02:33 -0500 (EST)	[thread overview]
Message-ID: <Pine.LNX.4.64.0812111247510.22556@pianoman.cluster.toy> (raw)
In-Reply-To: <20081211155230.GA4230@elte.hu>


Can someone tell me which performance counter implementation is likely to 
get merged into the Kernel?

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.

Perfmon3 works for all of those 60 machines.  This new proposal works on a 
2 out of the 60.

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 I'd like someone to commit to some performance monitoring architecture. 
Otherwise we're going to waste thousands of hours of developer time around 
the world.  It's all pointless.

Also, my primary method of using counters is total aggregate count for a 
single user-space process.  So I use perfmon's pfmon tool to run an entire 
lon-running program, gathering full stats only at the very end.  pfmon can 
do this with pretty much zero overhead (I have lots of data and a few 
publications using this method).  Can this new infrastructure to this?  I 
find the documentation/tools support to be very incomplete.

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.

Vince

  reply	other threads:[~2008-12-11 18:21 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 [this message]
2008-12-12  8:25   ` Peter Zijlstra
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
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=Pine.LNX.4.64.0812111247510.22556@pianoman.cluster.toy \
    --to=vince@deater.net \
    --cc=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 \
    /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.