forked from Minki/linux
5d67be97f8
Add an option to perf report/annotate/script to specify which CPUs to operate on. This enables us to take a single system wide profile and analyse each CPU (or group of CPUs) in isolation. This was useful when profiling a multiprocess workload where the bottleneck was on one CPU but this was hidden in the overall profile. Per process and per thread breakdowns didn't help because multiple processes were running on each CPU and no single process consumed an entire CPU. The patch converts the list of CPUs returned by cpu_map__new into a bitmap for fast lookup. I wanted to use -C to be consistent with perf top/record/stat, but unfortunately perf report already uses -C <comms>. v2: Incorporate suggestions from David Ahern: - Added -c to perf script - Check that SAMPLE_CPU is set when -c is used - Update documentation v3: Create perf_session__cpu_bitmap() Signed-off-by: Anton Blanchard <anton@samba.org> Acked-by: David Ahern <dsahern@gmail.com> Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> Link: http://lkml.kernel.org/r/20110704215750.11647eb9@kryten Signed-off-by: Ingo Molnar <mingo@elte.hu>
78 lines
1.7 KiB
Plaintext
78 lines
1.7 KiB
Plaintext
perf-annotate(1)
|
|
================
|
|
|
|
NAME
|
|
----
|
|
perf-annotate - Read perf.data (created by perf record) and display annotated code
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
'perf annotate' [-i <file> | --input=file] [symbol_name]
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
This command reads the input file and displays an annotated version of the
|
|
code. If the object file has debug symbols then the source code will be
|
|
displayed alongside assembly code.
|
|
|
|
If there is no debug info in the object, then annotated assembly is displayed.
|
|
|
|
OPTIONS
|
|
-------
|
|
-i::
|
|
--input=::
|
|
Input file name. (default: perf.data)
|
|
|
|
-d::
|
|
--dsos=<dso[,dso...]>::
|
|
Only consider symbols in these dsos.
|
|
-s::
|
|
--symbol=<symbol>::
|
|
Symbol to annotate.
|
|
|
|
-f::
|
|
--force::
|
|
Don't complain, do it.
|
|
|
|
-v::
|
|
--verbose::
|
|
Be more verbose. (Show symbol address, etc)
|
|
|
|
-D::
|
|
--dump-raw-trace::
|
|
Dump raw trace in ASCII.
|
|
|
|
-k::
|
|
--vmlinux=<file>::
|
|
vmlinux pathname.
|
|
|
|
-m::
|
|
--modules::
|
|
Load module symbols. WARNING: use only with -k and LIVE kernel.
|
|
|
|
-l::
|
|
--print-line::
|
|
Print matching source lines (may be slow).
|
|
|
|
-P::
|
|
--full-paths::
|
|
Don't shorten the displayed pathnames.
|
|
|
|
--stdio:: Use the stdio interface.
|
|
|
|
--tui:: Use the TUI interface Use of --tui requires a tty, if one is not
|
|
present, as when piping to other commands, the stdio interface is
|
|
used. This interfaces starts by centering on the line with more
|
|
samples, TAB/UNTAB cycles through the lines with more samples.
|
|
|
|
-c::
|
|
--cpu:: Only report samples for the list of CPUs provided. Multiple CPUs can
|
|
be provided as a comma-separated list with no space: 0,1. Ranges of
|
|
CPUs are specified with -: 0-2. Default is to report samples on all
|
|
CPUs.
|
|
|
|
SEE ALSO
|
|
--------
|
|
linkperf:perf-record[1], linkperf:perf-report[1]
|