All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Maynard Johnson <maynardj@us.ibm.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>,
	Andi Kleen <andi@firstfloor.org>,
	Paul Mackerras <paulus@samba.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	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 Ven <arjan@infradead.org>,
	Peter Anvin <hpa@zytor.com>,
	"David S. Miller" <davem@davemloft.net>,
	perfctr-devel@lists.sourceforge.net
Subject: Re: [patch] Performance Counters for Linux, v4
Date: Sat, 17 Jan 2009 00:11:39 +0100	[thread overview]
Message-ID: <20090116231139.GB23447@elte.hu> (raw)
In-Reply-To: <497106C5.60703@us.ibm.com>


* Maynard Johnson <maynardj@us.ibm.com> wrote:

> > Over time, it seems clear that we will see multi-core processor 
> > designs with increasingly large uncore/nest facilities, so this could 
> > become more and more of an issue.

> Ingo, I'll add my voice to the chorus here.  To reiterate the point, 
> some PMUs count events that are external to the processor cores, and 
> these events cannot be attributed to any one particular CPU -- and 
> certainly not to a particular pid.  The current interface has a 
> restriction that the user cannot pass -1 for both pid and cpu.  But it 
> seems to me that's exactly what would be needed for such off-core 
> events.  Can this feature fit in with the current interface or is some 
> sort of extension needed?

They fit in just fine, they just will have constraints that dont allow 
their scheduling in a conflicting way. I.e. you'll only be able to occupy 
it from a single counter per physical package - but otherwise it still 
behaves like a normal counter if you define a single such counter per 
physical package, as a percpu counter. (they dont make much sense as task 
counters)

Btw., those kind of constraints make them quite noisy and hard to 
interpret as well - because they summarize per physical package 
characteristics (of up to 8 logical CPUs on Nehalem for example) and 
cannot be tied to tasks easily.

I'm not dismissing them entirely: they do give an overview of "all stuff 
that happens" at that level, and they do show a few things that is 
obviously tied to the 'uncore' of a CPU (the cache, the memory interlink, 
etc.), which cannot be provided by the normal PMCs - but they are too 
highlevel to really be useful for finegrained analysis and for eventing.

In any case, despite their limitations they can still be provided just 
fine, and any limitations they have is an inherent limitation of those 
hardware counters, not of the perfcounters framework.

	Ingo

  reply	other threads:[~2009-01-16 23:12 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-14 21:28 [patch] Performance Counters for Linux, v4 Ingo Molnar
2008-12-15 11:59 ` Paul Mackerras
2008-12-15 12:11 ` Paul Mackerras
2008-12-16 14:22   ` Peter Zijlstra
2008-12-16 23:06     ` Paul Mackerras
2008-12-16 23:51       ` Ingo Molnar
2008-12-17  1:55       ` Andi Kleen
2009-01-16 18:01         ` Corey Ashford
2009-01-16 22:14           ` Maynard Johnson
2009-01-16 23:11             ` Ingo Molnar [this message]
2009-01-17  1:26           ` Paul Mackerras
2009-01-17  9:53             ` Andi Kleen
2008-12-17  2:23       ` [Perfctr-devel] " Dan Terpstra
2008-12-17  7:34       ` stephane eranian
2008-12-15 17:44 ` Vince Weaver
2008-12-15 21:07   ` Vince Weaver
2008-12-15 22:13     ` Paul Mackerras
2008-12-15 21:42   ` Paul Mackerras
2008-12-15 22:03     ` stephane eranian
2008-12-16 14:42     ` Peter Zijlstra
2008-12-16 16:55       ` Vince Weaver
2008-12-16 21:52         ` Paul Mackerras
2008-12-16 12:22 ` Pavel Machek
2008-12-16 12:50   ` Ingo Molnar
2008-12-16 12:57     ` Pavel Machek
2008-12-16 13:03       ` Ingo Molnar
2008-12-16 13:13         ` Arjan van de Ven
2008-12-16 20:04           ` Pavel Machek
2008-12-16 14:45 ` Peter Zijlstra
2008-12-16 15:46 ` [Perfctr-devel] " Martin Cracauer
2008-12-16 17:38 ` Vince Weaver
2008-12-16 19:47   ` Corey Ashford
2008-12-16 20:55     ` Vince Weaver
2008-12-16 19:56 ` [Perfctr-devel] " William Cohen
2008-12-17  1:51   ` Andi Kleen
2008-12-17  1:56     ` Samuel Thibault
     [not found]       ` <d484eb1f0812162357n7a851f2fncc0abaae9bd293a4@mail.gmail.com>
2008-12-17  9:18         ` Andi Kleen
     [not found]           ` <d484eb1f0812170611s597e014cl5fb98d6dd81afd49@mail.gmail.com>
2008-12-17 15:06             ` Andi Kleen
2008-12-17 16:00 ` William Cohen
2008-12-17 20:53   ` Corey Ashford

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=20090116231139.GB23447@elte.hu \
    --to=mingo@elte.hu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=arjan@infradead.org \
    --cc=cjashfor@linux.vnet.ibm.com \
    --cc=dada1@cosmosbay.com \
    --cc=davem@davemloft.net \
    --cc=eranian@googlemail.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maynardj@us.ibm.com \
    --cc=paulus@samba.org \
    --cc=perfctr-devel@lists.sourceforge.net \
    --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.