mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 17:25:38 +00:00
35f5aa9ccc
The --itrace help now needs updating to reflect that the --itrace=b argument sythesises branches as well as branch misses. Signed-off-by: Graham Woodward <graham.woodward@arm.com> Reviewed-by: James Clark <james.clark@linaro.org> Tested-by: Leo Yan <leo.yan@arm.com> Cc: nd@arm.com Cc: mike.leach@linaro.org Cc: linux-arm-kernel@lists.infradead.org Link: https://lore.kernel.org/r/20241025143009.25419-5-graham.woodward@arm.com Signed-off-by: Namhyung Kim <namhyung@kernel.org>
73 lines
2.7 KiB
Plaintext
73 lines
2.7 KiB
Plaintext
i synthesize instructions events
|
|
y synthesize cycles 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 (incl. PSB events for Intel PT)
|
|
o synthesize other events recorded due to the use
|
|
of aux-output (refer to perf record)
|
|
I synthesize interrupt or similar (asynchronous) events
|
|
(e.g. Intel PT Event Trace)
|
|
e synthesize error events
|
|
d create a debug log
|
|
f synthesize first level cache events
|
|
m synthesize last level cache events
|
|
M synthesize memory events
|
|
t synthesize TLB events
|
|
a synthesize remote access events
|
|
g synthesize a call chain (use with i or x)
|
|
G synthesize a call chain on existing event records
|
|
l synthesize last branch entries (use with i or x)
|
|
L synthesize last branch entries on existing event records
|
|
s skip initial number of events
|
|
q quicker (less detailed) decoding
|
|
A approximate IPC
|
|
Z prefer to ignore timestamps (so-called "timeless" decoding)
|
|
T use the timestamp trace as kernel time
|
|
|
|
The default is all events i.e. the same as --itrace=iybxwpe,
|
|
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.
|
|
|
|
Similar to options g and l, size may also be specified for options G and L.
|
|
On x86, note that G and L work poorly when data has been recorded with
|
|
large PEBS. Refer linkperf:perf-intel-pt[1] man page for details.
|
|
|
|
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.
|
|
|
|
The 'e' option may be followed by flags which affect what errors will or
|
|
will not be reported. Each flag must be preceded by either '+' or '-'.
|
|
The flags are:
|
|
o overflow
|
|
l trace data lost
|
|
|
|
If supported, the 'd' option may be followed by flags which affect what
|
|
debug messages will or will not be logged. Each flag must be preceded
|
|
by either '+' or '-'. The flags are:
|
|
a all perf events
|
|
e output only on errors (size configurable - see linkperf:perf-config[1])
|
|
o output to stdout
|
|
|
|
If supported, the 'q' option may be repeated to increase the effect.
|