[lkml]   [2009]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 13/15] perf_counter: provide generic callchain bits
Peter Zijlstra wrote:
> On Tue, 2009-03-31 at 20:12 +1100, Paul Mackerras wrote:
>> Corey Ashford writes:
>>> If this is the case, what is the exact meaning of PERF_COUNTER_SIMPLE
>>> now? and PERF_COUNTER_GROUP? One simplification would be that reading
>>> the fd of a group leader would always read up all of the counters in the
>>> group (along with their enabled and running times if those bits are
>>> set), and that reading a single counter's fd would yield only that
>>> counter's values and times (if enabled). In effect, these two values,
>>> PERF_COUNTER_GROUP and PERF_COUNTER_SIMPLE would no longer be necessary
>>> at all. Other bits would be used to determine what's in the mmap'd samples.
>> Now that events are only read through mmap, it's quite simple -
>> hw_event.read_format controls what read() gives you, and
>> hw_event.record_type controls what gets put into the pages that you
>> get with mmap.
>> Currently read_format and record_type don't use the same set of bit
>> definitions. Maybe they should? I don't have a strong feeling about
>> it, but that might be a nice simplification.
> Something like the below?
> That still has the record and read things separate, but as one unified
> overflow output.
> I reduced record and read fields to 32bits, as the output type only has
> 32bits.
> diff did a wonderful job making the patch unreadable :/

This looks great! I like the idea of two bit vectors to describe what
you get when you read and the format of the mmap'd data. And I like the
ability not to include the header on each record if the user space
program knows the exact format of the sample records.

Paul is right, too, that having a read_format bit to determine whether
reading the leader gives all of the counters or just the leader is a
nice addition. I can't think of when I'd use it, but it's a good

- Corey

 \ /
  Last update: 2009-03-31 19:15    [W:0.143 / U:1.468 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site