From: Corey Ashford <cjashfor@linux.vnet.ibm.com>
To: Paul Mackerras <paulus@samba.org>
Cc: Ingo Molnar <mingo@elte.hu>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH/RFC] perfcounters: record time running and time enabled for each counter
Date: Fri, 20 Mar 2009 13:13:50 -0700 [thread overview]
Message-ID: <49C3F8FE.4050406@linux.vnet.ibm.com> (raw)
In-Reply-To: <18883.34555.748843.35920@cargo.ozlabs.ibm.com>
Paul Mackerras wrote:
> Impact: new functionality
>
> Currently, if there are more counters enabled than can fit on the CPU,
> the kernel will multiplex the counters on to the hardware using
> round-robin scheduling. That isn't too bad for sampling counters, but
> for counting counters it means that the value read from a counter
> represents some unknown fraction of the true count of events that
> occurred while the counter was enabled.
>
> This remedies the situation by keeping track of how long each counter
> is enabled for, and how long it is actually on the cpu and counting
> events. These times are recorded in nanoseconds using the task clock
> for per-task counters and the cpu clock for per-cpu counters.
>
> These values can be supplied to userspace on a read from the counter.
> Userspace requests that they be supplied after the counter value by
> setting the PERF_FORMAT_TIME_ENABLED and/or PERF_FORMAT_TIME_RUNNING
> bits in the hw_event.read_format field when creating the counter.
> (There is no way to change the read format after the counter is
> created, though it would be possible to add some way to do that.)
[snip]
This would make the implementation of PAPI simpler than using software
CPU timers attached to each group (which I have prototyped).
I'm a little confused about the ABI, though. I see that I can specify
which times I want to be able to read, but the order that they appear in
the stream seems to be unstated. I tried to figure it out by looking at
the kernel code, but there is no reference to PERF_FORMAT_TIME_ENABLED
or PERF_FORMAT_TIME_RUNNING in the patch (besides the definition).
Regards,
- Corey
Corey Ashford
Software Engineer
IBM Linux Technology Center, Linux Toolchain
Beaverton, OR
503-578-3507
cjashfor@us.ibm.com
next prev parent reply other threads:[~2009-03-20 20:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-20 12:07 [PATCH/RFC] perfcounters: record time running and time enabled for each counter Paul Mackerras
2009-03-20 14:50 ` Peter Zijlstra
2009-03-20 22:30 ` Paul Mackerras
2009-03-20 20:13 ` Corey Ashford [this message]
2009-03-20 22:31 ` Paul Mackerras
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=49C3F8FE.4050406@linux.vnet.ibm.com \
--to=cjashfor@linux.vnet.ibm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.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.