perf tools: Add itrace option 'o' to synthesize aux-output events
authorAdrian Hunter <adrian.hunter@intel.com>
Tue, 6 Aug 2019 08:46:03 +0000 (11:46 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 14 Aug 2019 13:59:59 +0000 (10:59 -0300)
Add itrace option 'o' to synthesize events recorded in the AUX area due
to the use of perf record's aux-output config term.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20190806084606.4021-5-alexander.shishkin@linux.intel.com
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/Documentation/itrace.txt
tools/perf/util/auxtrace.c
tools/perf/util/auxtrace.h

index c2182cb..82ff7da 100644 (file)
@@ -5,6 +5,8 @@
                x       synthesize transactions events
                w       synthesize ptwrite events
                p       synthesize power events
+               o       synthesize other events recorded due to the use
+                       of aux-output (refer to perf record)
                e       synthesize error events
                d       create a debug log
                g       synthesize a call chain (use with i or x)
index 72ce4c5..6042857 100644 (file)
@@ -974,6 +974,7 @@ void itrace_synth_opts__set_default(struct itrace_synth_opts *synth_opts,
        synth_opts->transactions = true;
        synth_opts->ptwrites = true;
        synth_opts->pwr_events = true;
+       synth_opts->other_events = true;
        synth_opts->errors = true;
        if (no_sample) {
                synth_opts->period_type = PERF_ITRACE_PERIOD_INSTRUCTIONS;
@@ -1071,6 +1072,9 @@ int itrace_parse_synth_opts(const struct option *opt, const char *str,
                case 'p':
                        synth_opts->pwr_events = true;
                        break;
+               case 'o':
+                       synth_opts->other_events = true;
+                       break;
                case 'e':
                        synth_opts->errors = true;
                        break;
index 8ccabac..8e637ac 100644 (file)
@@ -60,6 +60,8 @@ enum itrace_period_type {
  * @transactions: whether to synthesize events for transactions
  * @ptwrites: whether to synthesize events for ptwrites
  * @pwr_events: whether to synthesize power events
+ * @other_events: whether to synthesize other events recorded due to the use of
+ *                aux_output
  * @errors: whether to synthesize decoder error events
  * @dont_decode: whether to skip decoding entirely
  * @log: write a decoding log
@@ -86,6 +88,7 @@ struct itrace_synth_opts {
        bool                    transactions;
        bool                    ptwrites;
        bool                    pwr_events;
+       bool                    other_events;
        bool                    errors;
        bool                    dont_decode;
        bool                    log;