[PATCH 06/11] perf auxtrace: Add optional log flags to the itrace 'd' option

Adrian Hunter
2020-07-09T17:37:26Z

Allow the 'd' option to be followed by an architecture-specific number
which flags what kind of debug messages will or will not be logged.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
---
tools/perf/Documentation/itrace.txt | 3 +++
tools/perf/util/auxtrace.c | 2 ++
tools/perf/util/auxtrace.h | 2 ++
3 files changed, 7 insertions(+)

diff --git a/tools/perf/Documentation/itrace.txt b/tools/perf/Documentation/itrace.txt
index 34864b4047ed..3dd8fddb8b1b 100644
--- a/tools/perf/Documentation/itrace.txt
+++ b/tools/perf/Documentation/itrace.txt
@@ -50,3 +50,6 @@

The 'e' option may be followed by an architecture-specific number which
flags what kind of errors will or will not be reported.
+
+ If supported, The 'd' option may be followed by an architecture-specific
+ number which flags what kind of debug messages will or will not be logged.
diff --git a/tools/perf/util/auxtrace.c b/tools/perf/util/auxtrace.c
index 5cfc0b12b2b3..3f806c2881c9 100644
--- a/tools/perf/util/auxtrace.c
+++ b/tools/perf/util/auxtrace.c
@@ -1441,6 +1441,8 @@ int itrace_parse_synth_opts(const struct option *opt, const char *str,
break;
case 'd':
synth_opts->log = true;
+ synth_opts->log_flags = strtoul(p, &endptr, 0);
+ p = endptr;
break;
case 'c':
synth_opts->branches = true;
diff --git a/tools/perf/util/auxtrace.h b/tools/perf/util/auxtrace.h
index a04475f41f28..f41dbdc98175 100644
--- a/tools/perf/util/auxtrace.h
+++ b/tools/perf/util/auxtrace.h
@@ -92,6 +92,7 @@ enum itrace_period_type {
* @ptime_range: time intervals to trace or NULL
* @range_num: number of time intervals to trace
* @error_flags: arch-specific flags to affect what errors are reported
+ * @log_flags: arch-specific flags to affect what is logged
*/
struct itrace_synth_opts {
bool set;
@@ -126,6 +127,7 @@ struct itrace_synth_opts {
struct perf_time_interval *ptime_range;
int range_num;
unsigned int error_flags;
+ unsigned int log_flags;
};

/**
--
2.25.1