|author||Andi Kleen <firstname.lastname@example.org>||2016-03-28 10:45:38 -0700|
|committer||Arnaldo Carvalho de Melo <email@example.com>||2016-03-30 11:14:09 -0300|
perf tools: Add support for skipping itrace instructions
When using 'perf script' to look at PT traces it is often useful to ignore the initialization code at the beginning. On larger traces which may have many millions of instructions in initialization code doing that in a pipeline can be very slow, with perf script spending a lot of CPU time calling printf and writing data. This patch adds an extension to the --itrace argument that skips 'n' events (instructions, branches or transactions) at the beginning. This is much more efficient. v2: Add support for BTS (Adrian Hunter) Document in itrace.txt Fix branch check Check transactions and instructions too Committer note: To test intel_pt one needs to make sure VT-x isn't active, i.e. stopping KVM guests on the test machine, as described by Andi Kleen at http://lkml.kernel.org/r/20160301234953.GD23621@tassilo.jf.intel.com Signed-off-by: Andi Kleen <firstname.lastname@example.org> Tested-by: Arnaldo Carvalho de Melo <email@example.com> Cc: Adrian Hunter <firstname.lastname@example.org> Cc: Jiri Olsa <email@example.com> Cc: Stephane Eranian <firstname.lastname@example.org> Link: http://email@example.com Signed-off-by: Arnaldo Carvalho de Melo <firstname.lastname@example.org>
Diffstat (limited to 'tools/perf/Documentation/itrace.txt')
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/perf/Documentation/itrace.txt b/tools/perf/Documentation/itrace.txt
index 65453f4c7006..e2a4c5e0dbe5 100644
@@ -7,6 +7,7 @@
d create a debug log
g synthesize a call chain (use with i or x)
l synthesize last branch entries (use with i or x)
+ s skip initial number of events
The default is all events i.e. the same as --itrace=ibxe
@@ -24,3 +25,10 @@
Also the number of last branch entries (default 64, max. 1024) for
instructions or transactions events can be specified.
+ It is also possible to skip events generated (instructions, branches, transactions)
+ at the beginning. This is useful to ignore initialization code.
+ skips the first million instructions.