lkml.org 
[lkml]   [2012]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 00/13] perf_events: add support for sampling taken branches (v3)
    From
    On Tue, Jan 24, 2012 at 5:08 PM, David Ahern <dsahern@gmail.com> wrote:
    >
    > On 01/24/2012 08:39 AM, Stephane Eranian wrote:
    >> Hi,
    >>
    >> The branch stack sampling patch exposes a flaw in the sampling
    >> buffer format as currently exported by the kernel.
    >>
    >> In the current format, sample records (RECORD_SAMPLE) are NOT
    >> self-describing. That means that by looking at the fixed size header, it
    >> is not possible to determine which event caused the sample to be recorded
    >> and what's in the body of the variable length sample.
    >>
    >> Such introspection is only possible once we know the event unique id
    >> (PERF_SAMPLE_ID). But to get the event ID, we need to parse the
    >> sample. But, given that a sample has a variable length, there is no
    >> predefined position for that ID in the sample. You have a chicken
    >> and egg problem here. There is no room left in the fixed size header
    >> to fit this in.
    >
    > I brought this up last Fall as well. As I recall the response is to move
    > each sample_type based stream into its own data file and then merge the
    > data files while processing.

    By data stream, you're talking about actual sampling buffer.
    Sampling on 10 events, means 10 sampling buffers. If you reach
    the rlimit on it, you need to decrease buffer size, and therefore
    you increase overhead.

    Moreover, I don't think perf record is well equipped to handle this.


    \
     
     \ /
      Last update: 2012-01-24 18:45    [W:3.379 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site