Messages in this thread |  | | | Date | Tue, 24 Jan 2012 09:08:32 -0700 | | From | David Ahern <> | | Subject | Re: [PATCH 00/13] perf_events: add support for sampling taken branches (v3) |
| |
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
|  |