Messages in this thread | | | Subject | Re: [RFC PATCHv3] perf tools: add event grouping capability to "perf stat" | From | Peter Zijlstra <> | Date | Thu, 25 Nov 2010 15:12:28 +0100 |
| |
On Thu, 2010-11-25 at 15:07 +0100, Stephane Eranian wrote: > On Thu, Nov 25, 2010 at 3:02 PM, Peter Zijlstra <a.p.zijlstra@chello.nl> wrote: > > On Thu, 2010-11-25 at 14:19 +0100, Stephane Eranian wrote: > > > >> I think using PERF_SAMPLE_READ may expose a problem in the > >> perf.data format. To correctly parse a sample created with SAMPLE_READ, > >> you need to know the attr.read_format. But for that you need to know the > >> event which caused the sample, but for that you need the SAMPLE_ID, > >> and you don't know if it's there or not. In other words, there is a chicken > >> and egg problem. > >> > >> I think the issue is that PERF_RECORD_SAMPLE is missing a mandatory > >> piece of information: overflow event ID. This must a mandatory field, not > >> optional as it is today. It is okay when you have only one group, but we'd > >> like to go beyond that. > > > > > > > > I'm not sure I get it, there's both PERF_FORMAT_ID and PERF_SAMPLE_ID, > > so afaict there's a working combination for what you want to do. > > > Ok, I had forgotten about PERF_SAMPLE_ID. But that means that if the > number of groups > 1, then if you use PERF_SAMPLE_READ, you MUST > also use PERF_SAMPLE_ID. Otherwise you cannot get back to the event > that generated the sample and thus attr.read_format.
perf-record already does that:
if (nr_counters > 1) attr->sample_type |= PERF_SAMPLE_ID;
| |