Messages in this thread | | | Date | Mon, 1 Jul 2013 21:10:38 +0200 | Subject | Re: [PATCH V2 12/15] perf tools: allow non-matching sample types | From | Stephane Eranian <> |
| |
On Mon, Jul 1, 2013 at 8:53 PM, David Ahern <dsahern@gmail.com> wrote: > > On 7/1/13 3:32 AM, Adrian Hunter wrote: >> >> Snip >> >>> >>> While this works for a combined S/W and tracepoint events session, I do not >>> like promoting sample types to the minimum compatible level for all events >>> in the session. perf needs to allow each event to have its own sample_type >>> and not force a minimal compatibility. >> >> >> Why? The impact is small. The kernel API is completely unchanged. > > > I'd like to see libperf become a stable, usable library - usable by more than the perf binary and its builtin commands. I have already done this once for a daemon, and it was a PITA to get the specific use functional without memory leaks/growth in the libperf part. > > With respect to this specific patch it means appropriate flexibility in the data collected for events. ie., each event can have its own sample_type. For example if the tracepoint already contains task information TID is not needed - and IP may not be wanted either. The code processing the samples should not require all events to have some minimum data format - that just wastes buffer space. > I agree. This kernel needs to allow for any bit combination on sample_type and yet provide enough info to parse the buffer in the case of multi-event sampling. This is kernel bug. Tools should not have to handle this. Because it'd have to be repeated for each tool.
Later this week, I'll post a patch that address the kernel limitation.
| |