Commit 51971536 authored by Adrian Hunter's avatar Adrian Hunter Committed by Arnaldo Carvalho de Melo

perf auxtrace: Add itrace 'q' option for quicker, less detailed decoding

The 'q' option is for modes of decoding that are quicker because they
skip or omit decoding some aspects of trace data.

If supported, the 'q' option may be repeated to increase the effect.
Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
Reviewed-by: default avatarAndi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lore.kernel.org/lkml/20200710151104.15137-11-adrian.hunter@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent d4575f5f
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
l synthesize last branch entries (use with i or x) l synthesize last branch entries (use with i or x)
L synthesize last branch entries on existing event records L synthesize last branch entries on existing event records
s skip initial number of events s skip initial number of events
q quicker (less detailed) decoding
The default is all events i.e. the same as --itrace=ibxwpe, The default is all events i.e. the same as --itrace=ibxwpe,
except for perf script where it is --itrace=ce except for perf script where it is --itrace=ce
...@@ -58,3 +59,5 @@ ...@@ -58,3 +59,5 @@
debug messages will or will not be logged. Each flag must be preceded debug messages will or will not be logged. Each flag must be preceded
by either '+' or '-'. The flags are: by either '+' or '-'. The flags are:
a all perf events a all perf events
If supported, the 'q' option may be repeated to increase the effect.
...@@ -1554,6 +1554,9 @@ int itrace_parse_synth_opts(const struct option *opt, const char *str, ...@@ -1554,6 +1554,9 @@ int itrace_parse_synth_opts(const struct option *opt, const char *str,
case 'a': case 'a':
synth_opts->remote_access = true; synth_opts->remote_access = true;
break; break;
case 'q':
synth_opts->quick += 1;
break;
case ' ': case ' ':
case ',': case ',':
break; break;
......
...@@ -100,6 +100,7 @@ enum itrace_period_type { ...@@ -100,6 +100,7 @@ enum itrace_period_type {
* @error_minus_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_plus_flags: flags to affect what is logged
* @log_minus_flags: flags to affect what is logged * @log_minus_flags: flags to affect what is logged
* @quick: quicker (less detailed) decoding
*/ */
struct itrace_synth_opts { struct itrace_synth_opts {
bool set; bool set;
...@@ -137,6 +138,7 @@ struct itrace_synth_opts { ...@@ -137,6 +138,7 @@ struct itrace_synth_opts {
unsigned int error_minus_flags; unsigned int error_minus_flags;
unsigned int log_plus_flags; unsigned int log_plus_flags;
unsigned int log_minus_flags; unsigned int log_minus_flags;
unsigned int quick;
}; };
/** /**
...@@ -642,6 +644,7 @@ bool auxtrace__evsel_is_auxtrace(struct perf_session *session, ...@@ -642,6 +644,7 @@ bool auxtrace__evsel_is_auxtrace(struct perf_session *session,
" l[len]: synthesize last branch entries (use with i or x)\n" \ " l[len]: synthesize last branch entries (use with i or x)\n" \
" L[len]: synthesize last branch entries on existing event records\n" \ " L[len]: synthesize last branch entries on existing event records\n" \
" sNUMBER: skip initial number of events\n" \ " sNUMBER: skip initial number of events\n" \
" q: quicker (less detailed) decoding\n" \
" PERIOD[ns|us|ms|i|t]: specify period to sample stream\n" \ " PERIOD[ns|us|ms|i|t]: specify period to sample stream\n" \
" concatenate multiple options. Default is ibxwpe or cewp\n" " concatenate multiple options. Default is ibxwpe or cewp\n"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment