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