From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org,
Adrian Hunter <adrian.hunter@intel.com>,
David Ahern <dsahern@gmail.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
Namhyung Kim <namhyung@gmail.com>,
Peter Zijlstra <peterz@infradead.org>,
Stephane Eranian <eranian@google.com>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 05/25] perf auxtrace: Add option to synthesize events for transactions
Date: Tue, 5 May 2015 18:31:59 -0300 [thread overview]
Message-ID: <1430861539-30518-6-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1430861539-30518-1-git-send-email-acme@kernel.org>
From: Adrian Hunter <adrian.hunter@intel.com>
Add AUX area tracing option 'x' to synthesize events for transactions.
This will be used by Intel PT to synthesize an event record for each TSX
start, commit or abort.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1430404667-10593-6-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/Documentation/perf-inject.txt | 9 +++++----
tools/perf/Documentation/perf-report.txt | 9 +++++----
tools/perf/Documentation/perf-script.txt | 9 +++++----
tools/perf/util/auxtrace.c | 5 ++++-
tools/perf/util/auxtrace.h | 2 ++
5 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/tools/perf/Documentation/perf-inject.txt b/tools/perf/Documentation/perf-inject.txt
index bb1f655..b876ae3 100644
--- a/tools/perf/Documentation/perf-inject.txt
+++ b/tools/perf/Documentation/perf-inject.txt
@@ -52,11 +52,12 @@ OPTIONS
b synthesize branches events
c synthesize branches events (calls only)
r synthesize branches events (returns only)
+ x synthesize transactions events
e synthesize error events
d create a debug log
- g synthesize a call chain for instructions events
+ g synthesize a call chain (use with i or x)
- The default is all events i.e. the same as --itrace=ibe
+ The default is all events i.e. the same as --itrace=ibxe
In addition, the period (default 100000) for instructions events
can be specified in units of:
@@ -67,8 +68,8 @@ OPTIONS
us microseconds
ns nanoseconds (default)
- Also the call chain size (default 16, max. 1024) for instructions
- events can be specified.
+ Also the call chain size (default 16, max. 1024) for instructions or
+ transactions events can be specified.
SEE ALSO
--------
diff --git a/tools/perf/Documentation/perf-report.txt b/tools/perf/Documentation/perf-report.txt
index b771340..27190ed 100644
--- a/tools/perf/Documentation/perf-report.txt
+++ b/tools/perf/Documentation/perf-report.txt
@@ -331,11 +331,12 @@ OPTIONS
b synthesize branches events
c synthesize branches events (calls only)
r synthesize branches events (returns only)
+ x synthesize transactions events
e synthesize error events
d create a debug log
- g synthesize a call chain for instructions events
+ g synthesize a call chain (use with i or x)
- The default is all events i.e. the same as --itrace=ibe
+ The default is all events i.e. the same as --itrace=ibxe
In addition, the period (default 100000) for instructions events
can be specified in units of:
@@ -346,8 +347,8 @@ OPTIONS
us microseconds
ns nanoseconds (default)
- Also the call chain size (default 16, max. 1024) for instructions
- events can be specified.
+ Also the call chain size (default 16, max. 1024) for instructions or
+ transactions events can be specified.
To disable decoding entirely, use --no-itrace.
diff --git a/tools/perf/Documentation/perf-script.txt b/tools/perf/Documentation/perf-script.txt
index b29cd2f..c82df57 100644
--- a/tools/perf/Documentation/perf-script.txt
+++ b/tools/perf/Documentation/perf-script.txt
@@ -235,11 +235,12 @@ OPTIONS
b synthesize branches events
c synthesize branches events (calls only)
r synthesize branches events (returns only)
+ x synthesize transactions events
e synthesize error events
d create a debug log
- g synthesize a call chain for instructions events
+ g synthesize a call chain (use with i or x)
- The default is all events i.e. the same as --itrace=ibe
+ The default is all events i.e. the same as --itrace=ibxe
In addition, the period (default 100000) for instructions events
can be specified in units of:
@@ -250,8 +251,8 @@ OPTIONS
us microseconds
ns nanoseconds (default)
- Also the call chain size (default 16, max. 1024) for instructions
- events can be specified.
+ Also the call chain size (default 16, max. 1024) for instructions or
+ transactions events can be specified.
To disable decoding entirely, use --no-itrace.
diff --git a/tools/perf/util/auxtrace.c b/tools/perf/util/auxtrace.c
index 28ce134..1293710 100644
--- a/tools/perf/util/auxtrace.c
+++ b/tools/perf/util/auxtrace.c
@@ -888,6 +888,7 @@ void itrace_synth_opts__set_default(struct itrace_synth_opts *synth_opts)
{
synth_opts->instructions = true;
synth_opts->branches = true;
+ synth_opts->transactions = true;
synth_opts->errors = true;
synth_opts->period_type = PERF_ITRACE_DEFAULT_PERIOD_TYPE;
synth_opts->period = PERF_ITRACE_DEFAULT_PERIOD;
@@ -960,6 +961,9 @@ int itrace_parse_synth_opts(const struct option *opt, const char *str,
case 'b':
synth_opts->branches = true;
break;
+ case 'x':
+ synth_opts->transactions = true;
+ break;
case 'e':
synth_opts->errors = true;
break;
@@ -975,7 +979,6 @@ int itrace_parse_synth_opts(const struct option *opt, const char *str,
synth_opts->returns = true;
break;
case 'g':
- synth_opts->instructions = true;
synth_opts->callchain = true;
synth_opts->callchain_sz =
PERF_ITRACE_DEFAULT_CALLCHAIN_SZ;
diff --git a/tools/perf/util/auxtrace.h b/tools/perf/util/auxtrace.h
index 77b4699..8c6cbb1 100644
--- a/tools/perf/util/auxtrace.h
+++ b/tools/perf/util/auxtrace.h
@@ -54,6 +54,7 @@ enum itrace_period_type {
* because 'perf inject' will write it out
* @instructions: whether to synthesize 'instructions' events
* @branches: whether to synthesize 'branches' events
+ * @transactions: whether to synthesize events for transactions
* @errors: whether to synthesize decoder error events
* @dont_decode: whether to skip decoding entirely
* @log: write a decoding log
@@ -69,6 +70,7 @@ struct itrace_synth_opts {
bool inject;
bool instructions;
bool branches;
+ bool transactions;
bool errors;
bool dont_decode;
bool log;
--
2.1.0
next prev parent reply other threads:[~2015-05-05 21:32 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-05 21:31 [GIT PULL 00/25] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-05-05 21:31 ` Arnaldo Carvalho de Melo
2015-05-05 21:31 ` [PATCH 01/25] perf report: Fix placement of itrace option in documentation Arnaldo Carvalho de Melo
2015-05-05 21:31 ` [PATCH 02/25] perf tools: Add AUX area tracing index Arnaldo Carvalho de Melo
2015-05-05 21:31 ` [PATCH 03/25] perf tools: Hit all build ids when AUX area tracing Arnaldo Carvalho de Melo
2015-05-05 21:31 ` [PATCH 04/25] perf tools: Add build option NO_AUXTRACE to exclude " Arnaldo Carvalho de Melo
2015-05-05 21:31 ` Arnaldo Carvalho de Melo [this message]
2015-05-05 21:32 ` [PATCH 06/25] perf tools: Add support for PERF_RECORD_AUX Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 07/25] perf tools: Add support for PERF_RECORD_ITRACE_START Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 08/25] perf tools: Add AUX area tracing Snapshot Mode Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 09/25] perf record: Add AUX area tracing Snapshot Mode support Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 10/25] perf probe: Allow to use filter on --del command Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 11/25] perf probe: Accept filter argument for --funcs Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 12/25] perf probe: Remove redundant cleanup of params.filter Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 13/25] perf probe: Cleanup and consolidate command parsers Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 14/25] perf kmem: Show warning when trying to run stat without record Arnaldo Carvalho de Melo
2015-05-05 21:32 ` Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 15/25] perf tools: Move TUI-specific fields into unnamed union Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 16/25] perf tools: Move init_have_children field to the " Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 17/25] perf hists browser: Fix possible memory leak Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 18/25] perf hists browser: Save hist_browser_timer pointer in hist_browser Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 19/25] perf hists browser: Save pstack in the hist_browser Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 20/25] perf hists browser: Save perf_session_env " Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 21/25] perf hists browser: Split popup menu actions Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 22/25] perf hists browser: Split popup menu actions - part 2 Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 23/25] perf tools: Introduce pstack_peek() Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 24/25] perf hists browser: Simplify zooming code using pstack_peek() Arnaldo Carvalho de Melo
2015-05-05 21:32 ` [PATCH 25/25] perf tools: Move TUI-specific fields out of map_symbol Arnaldo Carvalho de Melo
2015-05-06 2:47 ` [GIT PULL 00/25] perf/core improvements and fixes Ingo Molnar
2015-05-06 2:47 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1430861539-30518-6-git-send-email-acme@kernel.org \
--to=acme@kernel.org \
--cc=acme@redhat.com \
--cc=adrian.hunter@intel.com \
--cc=dsahern@gmail.com \
--cc=eranian@google.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@gmail.com \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.