On Wed, Aug 14, 2013 at 3:00 PM, Adrian Hunter <adrian.hun...@intel.com> wrote: > On 14/08/13 15:48, Adrian Hunter wrote: >> The event stream is not always parsable because the format of a sample >> is dependent on the sample_type of the selected event. When there >> is more than one selected event and the sample_types are not the >> same then parsing becomes problematic. A sample can be matched to its >> selected event using the ID that is allocated when the event is opened. >> Unfortunately, to get the ID from the sample means first parsing it. >> >> This patch adds a new sample format bit PERF_SAMPLE_IDENTIFER that puts >> the ID at a fixed position so that the ID can be retrieved without >> parsing the sample. For sample events, that is the first position >> immediately after the header. For non-sample events, that is the last >> position. >> >> In this respect parsing samples requires that the sample_type and ID >> values are recorded. For example, perf tools records struct perf_event_attr >> and the IDs within the perf.data file. Those must be read first >> before it is possible to parse samples found later in the perf.data file. >> >> Signed-off-by: Adrian Hunter <adrian.hun...@intel.com> > > Forgot to add Peter's ack which is here: > > http://marc.info/?l=linux-kernel&m=137629757013526&w=2
Tested this patch via libpfm4 and per-event branch-stack. Works well. Tested-by: Stephane Eranian <eran...@google.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/