Re: [PATCH 00/13] perf_events: add support for sampling taken branches(v3)

From: David Ahern
Date: Tue Jan 24 2012 - 11:08:44 EST



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.

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/