lkml.org 
[lkml]   [2009]   [Aug]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 4/4][RFC] perf_counter: Allow sharing of output channels

* stephane eranian <eranian@googlemail.com> wrote:

> On Wed, Aug 19, 2009 at 2:56 PM, Peter Zijlstra<a.p.zijlstra@chello.nl> wrote:
> > On Wed, 2009-08-19 at 22:36 +1000, Paul Mackerras wrote:
> >> Peter Zijlstra writes:
> >>
> >> > Provide the ability to configure a counter to send
> >> > its output to another (already existing) counter's
> >> > output stream.
> >>
> >> What sort of thing might this be useful for?
> >
> > Some people complained that its tedious to mmap() for
> > every counter and would like to share the mmap()
> > output buffer between counters.
> >
>
> > This saves on address space and mlock budget and I
> > guess fd management logic.
>
> Interesting to see, you seem to have changed your mind
> on this. I recall pointing this out in my early
> comments.

Btw., did we strongly oppose the notion? The mmap output
buffers were always multi-event in essence - just by
virtue of the automatic events such as task creation,
mmap, etc.

> But anyway, here are some more comments:
>
> - how does this work with the remapped counts?
> Probably only see the count for the target, i.e.,
> output, event

if you want to recover the momentary index for RDPC you
need to mmap the counter(s) you are interested in, to get
to the header->index value.

So you can create these counters with 1 pages only (one
is the header) - and then remap the output to the primary
counter's output buffer.

> - if samples from multiple events end up in the same
> buffer, how do I tell them apart, i.e., how do I
> know sample X came from event A, sample X from
> event B? This may be useful to detect patterns.

Via PERF_SAMPLE_ID. That saves the counter ID into the
event so it can be demultiplexed later on.

Ingo


\
 
 \ /
  Last update: 2009-08-20 12:31    [W:0.095 / U:0.744 seconds]
©2003-2014 Jasper Spaans. Advertise on this site