Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf auxtrace: Add itrace option "I"

Add itrace option "I" to synthesize interrupt or similar (asynchronous)
events. This will be used for Intel PT Event Trace events.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: https://lore.kernel.org/r/20220124084201.2699795-13-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

Adrian Hunter and committed by
Arnaldo Carvalho de Melo
8ee9a9ab 1d0dc1dd

+10
+2
tools/perf/Documentation/itrace.txt
··· 7 7 p synthesize power events (incl. PSB events for Intel PT) 8 8 o synthesize other events recorded due to the use 9 9 of aux-output (refer to perf record) 10 + I synthesize interrupt or similar (asynchronous) events 11 + (e.g. Intel PT Event Trace) 10 12 e synthesize error events 11 13 d create a debug log 12 14 f synthesize first level cache events
+4
tools/perf/util/auxtrace.c
··· 1333 1333 synth_opts->ptwrites = true; 1334 1334 synth_opts->pwr_events = true; 1335 1335 synth_opts->other_events = true; 1336 + synth_opts->intr_events = true; 1336 1337 synth_opts->errors = true; 1337 1338 synth_opts->flc = true; 1338 1339 synth_opts->llc = true; ··· 1479 1478 break; 1480 1479 case 'o': 1481 1480 synth_opts->other_events = true; 1481 + break; 1482 + case 'I': 1483 + synth_opts->intr_events = true; 1482 1484 break; 1483 1485 case 'e': 1484 1486 synth_opts->errors = true;
+4
tools/perf/util/auxtrace.h
··· 76 76 * @pwr_events: whether to synthesize power events 77 77 * @other_events: whether to synthesize other events recorded due to the use of 78 78 * aux_output 79 + * @intr_events: whether to synthesize interrupt events 79 80 * @errors: whether to synthesize decoder error events 80 81 * @dont_decode: whether to skip decoding entirely 81 82 * @log: write a decoding log ··· 121 120 bool ptwrites; 122 121 bool pwr_events; 123 122 bool other_events; 123 + bool intr_events; 124 124 bool errors; 125 125 bool dont_decode; 126 126 bool log; ··· 638 636 " p: synthesize power events\n" \ 639 637 " o: synthesize other events recorded due to the use\n" \ 640 638 " of aux-output (refer to perf record)\n" \ 639 + " I: synthesize interrupt or similar (asynchronous) events\n" \ 640 + " (e.g. Intel PT Event Trace)\n" \ 641 641 " e[flags]: synthesize error events\n" \ 642 642 " each flag must be preceded by + or -\n" \ 643 643 " error flags are: o (overflow)\n" \