From: Peter Zijlstra <peterz@infradead.org>
To: Vince Weaver <vweaver1@eecs.utk.edu>
Cc: Mike Hommey <mh@glandium.org>, linux-kernel@vger.kernel.org
Subject: Re: Problem with perf hardware counters grouping
Date: Thu, 01 Sep 2011 18:41:52 +0200 [thread overview]
Message-ID: <1314895312.1485.2.camel@twins> (raw)
In-Reply-To: <alpine.DEB.2.00.1109011117200.9976@cl320.eecs.utk.edu>
On Thu, 2011-09-01 at 11:21 -0400, Vince Weaver wrote:
> On Thu, 1 Sep 2011, Peter Zijlstra wrote:
>
> > What happens with your >3 case is that while the group is valid and
> > could fit on the PMU, it won't fit at runtime because the NMI watchdog
> > is taking one and won't budge (cpu-pinned counter have precedence over
> > any other kind), effectively starving your group of pmu runtime.
> UGH! I just noticed this problem yesterday and was meaning to track it
> down.
>
> This obviously causes PAPI to fail if you try to use the maximum number of
> counters. Instead of getting EINVAL at open time or even at start time,
> you just silently read all zeros at read time, and by then it's too late
> to do anything useful about the problem because you just missed measuring
> what you were trying to.
>
> Is there any good workaround, or do we have to fall back to trying to
> start/read/stop every proposed event set to make sure it's valid?
I guess my first question is going to be, how do you know what the
maximum number of counters is in the first place?
> This is going to seriously impact performance, and perf_event performance
> is pretty bad to begin with. The whole reason I was writing the tests to
> trigger this is because PAPI users are complaining that perf_event
> overhead is roughly twice that of perfctr or perfmon2, which I've verified
> experimentally.
Yeah, you keep saying this, where does it come from? Only the lack of
userspace rdpmc?
next prev parent reply other threads:[~2011-09-01 16:42 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-31 8:57 Problem with perf hardware counters grouping Mike Hommey
2011-09-01 11:53 ` Peter Zijlstra
2011-09-01 11:59 ` Mike Hommey
2011-09-01 12:40 ` Peter Zijlstra
2011-09-01 15:21 ` Vince Weaver
2011-09-01 16:41 ` Peter Zijlstra [this message]
2011-09-01 17:16 ` Vince Weaver
2011-09-01 17:24 ` Vince Weaver
2011-09-06 19:43 ` Vince Weaver
2011-09-06 20:22 ` Don Zickus
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=1314895312.1485.2.camel@twins \
--to=peterz@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mh@glandium.org \
--cc=vweaver1@eecs.utk.edu \
/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.