![Andi Kleen](/assets/img/avatar_default.png)
By default 'perf script' for itrace outputs sampled instructions or branches. In my experience this is confusing to users because it's hard to correlate with real program behavior. The sampling makes sense for tools like 'perf report' that actually sample to reduce the run time, but run time is normally not a problem for 'perf script'. It's better to give an accurate representation of the program flow. Default 'perf script' to output all calls for itrace. That's a much saner default. The old behavior can be still requested with 'perf script' --itrace=ibxwpe100000 v2: Fix ETM build failure v3: Really fix ETM build failure (Kim Phillips) Signed-off-by: Andi Kleen <ak@linux.intel.com> Acked-by: Jiri Olsa <jolsa@kernel.org> Cc: Kim Phillips <kim.phillips@arm.com> Cc: Leo Yan <leo.yan@linaro.org> Link: http://lkml.kernel.org/r/20180920180540.14039-3-andi@firstfloor.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
38 lines
1.2 KiB
Plaintext
38 lines
1.2 KiB
Plaintext
i synthesize instructions events
|
|
b synthesize branches events
|
|
c synthesize branches events (calls only)
|
|
r synthesize branches events (returns only)
|
|
x synthesize transactions events
|
|
w synthesize ptwrite events
|
|
p synthesize power events
|
|
e synthesize error events
|
|
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=ibxwpe,
|
|
except for perf script where it is --itrace=ce
|
|
|
|
In addition, the period (default 100000, except for perf script where it is 1)
|
|
for instructions events can be specified in units of:
|
|
|
|
i instructions
|
|
t ticks
|
|
ms milliseconds
|
|
us microseconds
|
|
ns nanoseconds (default)
|
|
|
|
Also the call chain size (default 16, max. 1024) for instructions or
|
|
transactions events can be specified.
|
|
|
|
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,
|
|
ptwrite, power) at the beginning. This is useful to ignore initialization code.
|
|
|
|
--itrace=i0nss1000000
|
|
|
|
skips the first million instructions.
|