From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Paul Mackerras <paulus@samba.org>
Cc: Ingo Molnar <mingo@elte.hu>,
linux-kernel@vger.kernel.org,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH/RFC 1/2] perfcounters: provide a way to read the current value of interrupting counters
Date: Tue, 17 Mar 2009 09:37:40 +0100 [thread overview]
Message-ID: <1237279060.5189.141.camel@laptop> (raw)
In-Reply-To: <18879.21884.162961.690031@cargo.ozlabs.ibm.com>
On Tue, 2009-03-17 at 18:47 +1100, Paul Mackerras wrote:
> Peter Zijlstra writes:
>
> > I'm not sure I understand why. It seems to me you're either interested
> > in sample data, that is {tid,ip,counter} like things, or you want raw
> > count values.
>
> It was specifically requested by people porting PAPI to PCL, and it
> seems like a reasonable request.
OK, then why didn't the changelog say so :-)
Could you ask them why though, if they need it I won't object too much,
but I'd like to know the use case.
As to the method proposed, I think Ingo and I talked about 'abusing'
non-blocking reads for this purpose, would that work? Then if you need
two fds you could dup() and flip one to non-blocking.
The non-blocking read would either output whatever is already pending,
but in case there is no data, it would generate some on the spot.
> I think we should make record_type a bitset rather than a single
> value, and define bits for recording the callchain as well as various
> other interesting things.
Sounds sensible at first though, I'll see if I can poke a hole in that.
The only two things I've got on my todo list is that challchain and mmap
info, and those can indeed be done as a bitmask, tid information too.
> > Currently the group record type writes things like {hw_event->type,
> > counter} which is ambiguous since we really have a 65bit id space. So I
> > was thinking of making that {fd, counter} to at least have a unique
> > identifier in there.
>
> The fd is already not a unique identifier - think about dup().
You're quite right indeed - risks of mailing before waking up I
suppose :-)
> The hw_event->type values are not really necessary, in fact, since the
> group members will always be read out in the order that they were
> added to the group. The only time there might be any possibility of
> confusion is if a new member is added after some samples have already
> been taken (or a member is removed) - then we'll get new records being
> added to the event queue being a different size from those already in
> the queue. But that's a somewhat different problem which isn't really
> solved by having the type values in there.
Ah, ok, so we can leave that out entirely. I was already planning to add
a sibling_count field, with that we could do something like:
{ record_type, sibling_count, n*{counter} }
next prev parent reply other threads:[~2009-03-17 8:38 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-17 5:42 [PATCH/RFC 1/2] perfcounters: provide a way to read the current value of interrupting counters Paul Mackerras
2009-03-17 7:32 ` Peter Zijlstra
2009-03-17 7:47 ` Paul Mackerras
2009-03-17 8:37 ` Peter Zijlstra [this message]
2009-03-17 9:17 ` Paul Mackerras
2009-03-19 19:31 ` 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=1237279060.5189.141.camel@laptop \
--to=a.p.zijlstra@chello.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--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.