Commit 8ee9a9ab authored by Adrian Hunter's avatar Adrian Hunter Committed by Arnaldo Carvalho de Melo
Browse files

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: default avatarAdrian 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: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 1d0dc1dd
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -7,6 +7,8 @@
		p	synthesize power events (incl. PSB events for Intel PT)
		o	synthesize other events recorded due to the use
			of aux-output (refer to perf record)
		I	synthesize interrupt or similar (asynchronous) events
			(e.g. Intel PT Event Trace)
		e	synthesize error events
		d	create a debug log
		f	synthesize first level cache events
+4 −0
Original line number Diff line number Diff line
@@ -1333,6 +1333,7 @@ void itrace_synth_opts__set_default(struct itrace_synth_opts *synth_opts,
	synth_opts->ptwrites = true;
	synth_opts->pwr_events = true;
	synth_opts->other_events = true;
	synth_opts->intr_events = true;
	synth_opts->errors = true;
	synth_opts->flc = true;
	synth_opts->llc = true;
@@ -1479,6 +1480,9 @@ int itrace_do_parse_synth_opts(struct itrace_synth_opts *synth_opts,
		case 'o':
			synth_opts->other_events = true;
			break;
		case 'I':
			synth_opts->intr_events = true;
			break;
		case 'e':
			synth_opts->errors = true;
			if (get_flags(&p, &synth_opts->error_plus_flags,
+4 −0
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ enum itrace_period_type {
 * @pwr_events: whether to synthesize power events
 * @other_events: whether to synthesize other events recorded due to the use of
 *                aux_output
 * @intr_events: whether to synthesize interrupt events
 * @errors: whether to synthesize decoder error events
 * @dont_decode: whether to skip decoding entirely
 * @log: write a decoding log
@@ -120,6 +121,7 @@ struct itrace_synth_opts {
	bool			ptwrites;
	bool			pwr_events;
	bool			other_events;
	bool			intr_events;
	bool			errors;
	bool			dont_decode;
	bool			log;
@@ -636,6 +638,8 @@ bool auxtrace__evsel_is_auxtrace(struct perf_session *session,
"				p:	    		synthesize power events\n"			\
"				o:			synthesize other events recorded due to the use\n" \
"							of aux-output (refer to perf record)\n"	\
"				I:			synthesize interrupt or similar (asynchronous) events\n" \
"							(e.g. Intel PT Event Trace)\n" \
"				e[flags]:		synthesize error events\n" \
"							each flag must be preceded by + or -\n" \
"							error flags are: o (overflow)\n" \