Re: [PATCH V2 12/15] perf tools: allow non-matching sample types

From: Stephane Eranian
Date: Mon Jul 01 2013 - 15:10:44 EST


On Mon, Jul 1, 2013 at 8:53 PM, David Ahern <dsahern@xxxxxxxxx> 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.
--
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/