Commit-ID:  181ebb5e23a5e480f6d6aa2816a9c4aaa65afa59
Gitweb:     https://git.kernel.org/tip/181ebb5e23a5e480f6d6aa2816a9c4aaa65afa59
Author:     Adrian Hunter <adrian.hun...@intel.com>
AuthorDate: Tue, 6 Aug 2019 11:46:03 +0300
Committer:  Arnaldo Carvalho de Melo <a...@redhat.com>
CommitDate: Wed, 14 Aug 2019 10:59:59 -0300

perf tools: Add itrace option 'o' to synthesize aux-output events

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.hun...@intel.com>
Cc: Jiri Olsa <jo...@kernel.org>
Cc: Kan Liang <kan.li...@linux.intel.com>
Cc: Namhyung Kim <namhy...@kernel.org>
Cc: Peter Zijlstra <pet...@infradead.org>
Link: 
http://lkml.kernel.org/r/20190806084606.4021-5-alexander.shish...@linux.intel.com
Signed-off-by: Alexander Shishkin <alexander.shish...@linux.intel.com>
Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com>
---
 tools/perf/Documentation/itrace.txt | 2 ++
 tools/perf/util/auxtrace.c          | 4 ++++
 tools/perf/util/auxtrace.h          | 3 +++
 3 files changed, 9 insertions(+)

diff --git a/tools/perf/Documentation/itrace.txt 
b/tools/perf/Documentation/itrace.txt
index c2182cbabde3..82ff7dad40c2 100644
--- a/tools/perf/Documentation/itrace.txt
+++ b/tools/perf/Documentation/itrace.txt
@@ -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)
diff --git a/tools/perf/util/auxtrace.c b/tools/perf/util/auxtrace.c
index 72ce4c5e7c78..60428576426e 100644
--- a/tools/perf/util/auxtrace.c
+++ b/tools/perf/util/auxtrace.c
@@ -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;
diff --git a/tools/perf/util/auxtrace.h b/tools/perf/util/auxtrace.h
index 8ccabacd0b11..8e637ac3918e 100644
--- a/tools/perf/util/auxtrace.h
+++ b/tools/perf/util/auxtrace.h
@@ -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;

Reply via email to