Re: [PATCH v8 14/14] perf: add ITRACE_START record to indicate that tracing has started

From: Adrian Hunter
Date: Mon Jan 12 2015 - 04:32:28 EST


On 09/01/15 16:13, Peter Zijlstra wrote:
> On Fri, Jan 09, 2015 at 03:12:48PM +0100, Peter Zijlstra wrote:
>> On Fri, Nov 14, 2014 at 03:43:47PM +0200, Alexander Shishkin wrote:
>>> +++ b/include/uapi/linux/perf_event.h
>>> @@ -750,6 +750,17 @@ enum perf_event_type {
>>> */
>>> PERF_RECORD_AUX = 11,
>>>
>>> + /*
>>> + * Indicates that instruction trace has started
>>> + *
>>> + * struct {
>>> + * struct perf_event_header header;
>>> + * u32 pid;
>>> + * u32 tid;
>>
>> The below function suggests we should have:
>>
>> struct sample_id sample_id;
>>
>>> + * };
>>> + */
>>> + PERF_RECORD_ITRACE_START = 12,
>
> This also raises the question; why not use PERF_RECORD_COMM?

They mean slightly different things.

PERF_RECORD_COMM means the comm string has been set. We could infer that tid
was the currently running task but we don't at the moment, and it would be a
constraint that should be documented if we are going to rely on it.
Also it might mess up perf tools a little which calls the idle thread
"swapper" but the kernel calls it "swapper/n" on SMP where n is the cpu number.

PERF_RECORD_ITRACE_START just means that pid/tid was the currently running task.

--
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/