diff options
Diffstat (limited to 'tools/perf')
-rw-r--r-- | tools/perf/Documentation/itrace.txt | 5 | ||||
-rw-r--r-- | tools/perf/util/auxtrace.c | 3 | ||||
-rw-r--r-- | tools/perf/util/auxtrace.h | 10 |
3 files changed, 17 insertions, 1 deletions
diff --git a/tools/perf/Documentation/itrace.txt b/tools/perf/Documentation/itrace.txt index 114d0544d7c7..9c0e8586ed47 100644 --- a/tools/perf/Documentation/itrace.txt +++ b/tools/perf/Documentation/itrace.txt @@ -53,3 +53,8 @@ The flags are: o overflow l trace data lost + + If supported, the 'd' option may be followed by flags which affect what + debug messages will or will not be logged. Each flag must be preceded + by either '+' or '-'. The flags are: + a all perf events diff --git a/tools/perf/util/auxtrace.c b/tools/perf/util/auxtrace.c index f0b0758830ee..e028187c51fe 100644 --- a/tools/perf/util/auxtrace.c +++ b/tools/perf/util/auxtrace.c @@ -1483,6 +1483,9 @@ int itrace_parse_synth_opts(const struct option *opt, const char *str, break; case 'd': synth_opts->log = true; + if (get_flags(&p, &synth_opts->log_plus_flags, + &synth_opts->log_minus_flags)) + goto out_err; break; case 'c': synth_opts->branches = true; diff --git a/tools/perf/util/auxtrace.h b/tools/perf/util/auxtrace.h index cfe6d00d8624..821ef5446a13 100644 --- a/tools/perf/util/auxtrace.h +++ b/tools/perf/util/auxtrace.h @@ -58,6 +58,8 @@ enum itrace_period_type { #define AUXTRACE_ERR_FLG_OVERFLOW (1 << ('o' - 'a')) #define AUXTRACE_ERR_FLG_DATA_LOST (1 << ('l' - 'a')) +#define AUXTRACE_LOG_FLG_ALL_PERF_EVTS (1 << ('a' - 'a')) + /** * struct itrace_synth_opts - AUX area tracing synthesis options. * @set: indicates whether or not options have been set @@ -96,6 +98,8 @@ enum itrace_period_type { * @range_num: number of time intervals to trace * @error_plus_flags: flags to affect what errors are reported * @error_minus_flags: flags to affect what errors are reported + * @log_plus_flags: flags to affect what is logged + * @log_minus_flags: flags to affect what is logged */ struct itrace_synth_opts { bool set; @@ -131,6 +135,8 @@ struct itrace_synth_opts { int range_num; unsigned int error_plus_flags; unsigned int error_minus_flags; + unsigned int log_plus_flags; + unsigned int log_minus_flags; }; /** @@ -624,7 +630,9 @@ bool auxtrace__evsel_is_auxtrace(struct perf_session *session, " each flag must be preceded by + or -\n" \ " error flags are: o (overflow)\n" \ " l (data lost)\n" \ -" d: create a debug log\n" \ +" d[flags]: create a debug log\n" \ +" each flag must be preceded by + or -\n" \ +" log flags are: a (all perf events)\n" \ " f: synthesize first level cache events\n" \ " m: synthesize last level cache events\n" \ " t: synthesize TLB events\n" \ |