All of lore.kernel.org
 help / color / mirror / Atom feed
From: Corey Ashford <cjashfor@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Paul Mackerras <paulus@samba.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Carl Love <carll@us.ibm.com>, Maynard Johnson <mpjohn@us.ibm.com>,
	stephane eranian <eranian@googlemail.com>
Subject: Re: [BUG] perf_events: PERF_FORMAT_GROUP not working correctly when monitoring another task
Date: Thu, 06 May 2010 19:40:24 -0700	[thread overview]
Message-ID: <4BE37D98.3000001@linux.vnet.ibm.com> (raw)
In-Reply-To: <1273177360.1642.280.camel@laptop>

On 05/06/2010 01:22 PM, Peter Zijlstra wrote:
> On Thu, 2010-05-06 at 13:09 -0700, Corey Ashford wrote:
>> The patch works with the test case I provided, but for some reason it
>> breaks the normal operation of the libpfm4 "task" utility.  If I put
>> more than one event in a group, I get zero counts on all but the first
>> event.  That's even if I don't use the PERF_FORMAT_GROUP option.
>
> Bugger,.. weird though, I can't see how it would affect the state before
> the counters get detached from their context (exit() / close()).
>
>> So something appears to be messed up.  I will see if I can construct an
>> arch-independent test case which demonstrates the problem.
>
> That would be awesome, thanks!
>

Ok, it was pilot error.  We had made a few changes to the "task" program 
to expand its capabilities and introduced a couple of bugs at the same time.

Unfortunately, I have one remaining mystery.  The default behavior of 
task is to create groups, without the PERF_FORMAT_GROUP flag set, and 
then read up the counts and time enabled/running values for each counter 
in the group after the measurement has occurred.

Well, for some reason I haven't been able to figure out, all but first 
event in the group have their time running and time enable values set to 
zero, but their counts are non-zero.

If I replicate this setup with the show_fg_bug test case I posted, the 
time running and enabled values are correct for each counter.

The enabled and running flag bits are set for every event which is 
opened (in both show_fg_bug and task)... so I don't know what the 
difference would be.

If anything springs to mind there as to how I might be getting zero 
enabled/running values passed back from the kernel, I'd be very 
interested to know.

Otherwise, I will keep poking at it till I find the bug in task, or 
something I can point at in the kernel.

Thanks,

- Corey

  reply	other threads:[~2010-05-07  2:40 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-04  2:06 [BUG] perf_events: PERF_FORMAT_GROUP not working correctly when monitoring another task Corey Ashford
2010-05-06 15:42 ` Peter Zijlstra
2010-05-06 20:09   ` Corey Ashford
2010-05-06 20:22     ` Peter Zijlstra
2010-05-07  2:40       ` Corey Ashford [this message]
2010-05-07 18:41   ` [tip:perf/core] perf: Fix exit() vs PERF_FORMAT_GROUP tip-bot for Peter Zijlstra

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=4BE37D98.3000001@linux.vnet.ibm.com \
    --to=cjashfor@linux.vnet.ibm.com \
    --cc=acme@redhat.com \
    --cc=carll@us.ibm.com \
    --cc=eranian@googlemail.com \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mpjohn@us.ibm.com \
    --cc=paulus@samba.org \
    --cc=peterz@infradead.org \
    /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.