提交 3bdafdff 编写于 作者: A Adrian Hunter 提交者: Arnaldo Carvalho de Melo

perf auxtrace: Add itrace option to output ptwrite events

Add itrace option to output ptwrite events.
Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Link: http://lkml.kernel.org/r/1495786658-18063-24-git-send-email-adrian.hunter@intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
上级 07fda552
...@@ -3,13 +3,14 @@ ...@@ -3,13 +3,14 @@
c synthesize branches events (calls only) c synthesize branches events (calls only)
r synthesize branches events (returns only) r synthesize branches events (returns only)
x synthesize transactions events x synthesize transactions events
w synthesize ptwrite events
e synthesize error events e synthesize error events
d create a debug log d create a debug log
g synthesize a call chain (use with i or x) g synthesize a call chain (use with i or x)
l synthesize last branch entries (use with i or x) l synthesize last branch entries (use with i or x)
s skip initial number of events s skip initial number of events
The default is all events i.e. the same as --itrace=ibxe The default is all events i.e. the same as --itrace=ibxwe
In addition, the period (default 100000) for instructions events In addition, the period (default 100000) for instructions events
can be specified in units of: can be specified in units of:
...@@ -26,8 +27,8 @@ ...@@ -26,8 +27,8 @@
Also the number of last branch entries (default 64, max. 1024) for Also the number of last branch entries (default 64, max. 1024) for
instructions or transactions events can be specified. instructions or transactions events can be specified.
It is also possible to skip events generated (instructions, branches, transactions) It is also possible to skip events generated (instructions, branches, transactions,
at the beginning. This is useful to ignore initialization code. ptwrite) at the beginning. This is useful to ignore initialization code.
--itrace=i0nss1000000 --itrace=i0nss1000000
......
...@@ -947,6 +947,7 @@ void itrace_synth_opts__set_default(struct itrace_synth_opts *synth_opts) ...@@ -947,6 +947,7 @@ void itrace_synth_opts__set_default(struct itrace_synth_opts *synth_opts)
synth_opts->instructions = true; synth_opts->instructions = true;
synth_opts->branches = true; synth_opts->branches = true;
synth_opts->transactions = true; synth_opts->transactions = true;
synth_opts->ptwrites = true;
synth_opts->errors = true; synth_opts->errors = true;
synth_opts->period_type = PERF_ITRACE_DEFAULT_PERIOD_TYPE; synth_opts->period_type = PERF_ITRACE_DEFAULT_PERIOD_TYPE;
synth_opts->period = PERF_ITRACE_DEFAULT_PERIOD; synth_opts->period = PERF_ITRACE_DEFAULT_PERIOD;
...@@ -1030,6 +1031,9 @@ int itrace_parse_synth_opts(const struct option *opt, const char *str, ...@@ -1030,6 +1031,9 @@ int itrace_parse_synth_opts(const struct option *opt, const char *str,
case 'x': case 'x':
synth_opts->transactions = true; synth_opts->transactions = true;
break; break;
case 'w':
synth_opts->ptwrites = true;
break;
case 'e': case 'e':
synth_opts->errors = true; synth_opts->errors = true;
break; break;
......
...@@ -59,6 +59,7 @@ enum itrace_period_type { ...@@ -59,6 +59,7 @@ enum itrace_period_type {
* @instructions: whether to synthesize 'instructions' events * @instructions: whether to synthesize 'instructions' events
* @branches: whether to synthesize 'branches' events * @branches: whether to synthesize 'branches' events
* @transactions: whether to synthesize events for transactions * @transactions: whether to synthesize events for transactions
* @ptwrites: whether to synthesize events for ptwrites
* @errors: whether to synthesize decoder error events * @errors: whether to synthesize decoder error events
* @dont_decode: whether to skip decoding entirely * @dont_decode: whether to skip decoding entirely
* @log: write a decoding log * @log: write a decoding log
...@@ -79,6 +80,7 @@ struct itrace_synth_opts { ...@@ -79,6 +80,7 @@ struct itrace_synth_opts {
bool instructions; bool instructions;
bool branches; bool branches;
bool transactions; bool transactions;
bool ptwrites;
bool errors; bool errors;
bool dont_decode; bool dont_decode;
bool log; bool log;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册