diff options
| author | Adrian Hunter <adrian.hunter@intel.com> | 2016-09-23 10:38:39 -0400 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-09-29 10:17:02 -0400 |
| commit | 1b36c03e356936d62abbe2accaae1573d3b66f14 (patch) | |
| tree | 6eb7cc8ca62751aba4661d07823a6cea3cb912e7 /tools/perf/Documentation | |
| parent | cd67f99fe90dcf515f1c70c474b84d56b6236cbb (diff) | |
perf record: Add support for using symbols in address filters
Symbols come from either the DSO or /proc/kallsyms for the kernel.
Details of the functionality can be found in Documentation/perf-record.txt.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Link: http://lkml.kernel.org/r/1474641528-18776-8-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/Documentation')
| -rw-r--r-- | tools/perf/Documentation/perf-record.txt | 55 |
1 files changed, 54 insertions, 1 deletions
diff --git a/tools/perf/Documentation/perf-record.txt b/tools/perf/Documentation/perf-record.txt index babbb63e6d9d..92335193dc33 100644 --- a/tools/perf/Documentation/perf-record.txt +++ b/tools/perf/Documentation/perf-record.txt | |||
| @@ -89,9 +89,62 @@ OPTIONS | |||
| 89 | 89 | ||
| 90 | --filter=<filter>:: | 90 | --filter=<filter>:: |
| 91 | Event filter. This option should follow a event selector (-e) which | 91 | Event filter. This option should follow a event selector (-e) which |
| 92 | selects tracepoint event(s). Multiple '--filter' options are combined | 92 | selects either tracepoint event(s) or a hardware trace PMU |
| 93 | (e.g. Intel PT or CoreSight). | ||
| 94 | |||
| 95 | - tracepoint filters | ||
| 96 | |||
| 97 | In the case of tracepoints, multiple '--filter' options are combined | ||
| 93 | using '&&'. | 98 | using '&&'. |
| 94 | 99 | ||
| 100 | - address filters | ||
| 101 | |||
| 102 | A hardware trace PMU advertises its ability to accept a number of | ||
| 103 | address filters by specifying a non-zero value in | ||
| 104 | /sys/bus/event_source/devices/<pmu>/nr_addr_filters. | ||
| 105 | |||
| 106 | Address filters have the format: | ||
| 107 | |||
| 108 | filter|start|stop|tracestop <start> [/ <size>] [@<file name>] | ||
| 109 | |||
| 110 | Where: | ||
| 111 | - 'filter': defines a region that will be traced. | ||
| 112 | - 'start': defines an address at which tracing will begin. | ||
| 113 | - 'stop': defines an address at which tracing will stop. | ||
| 114 | - 'tracestop': defines a region in which tracing will stop. | ||
| 115 | |||
| 116 | <file name> is the name of the object file, <start> is the offset to the | ||
| 117 | code to trace in that file, and <size> is the size of the region to | ||
| 118 | trace. 'start' and 'stop' filters need not specify a <size>. | ||
| 119 | |||
| 120 | If no object file is specified then the kernel is assumed, in which case | ||
| 121 | the start address must be a current kernel memory address. | ||
| 122 | |||
| 123 | <start> can also be specified by providing the name of a symbol. If the | ||
| 124 | symbol name is not unique, it can be disambiguated by inserting #n where | ||
| 125 | 'n' selects the n'th symbol in address order. Alternately #0, #g or #G | ||
| 126 | select only a global symbol. <size> can also be specified by providing | ||
| 127 | the name of a symbol, in which case the size is calculated to the end | ||
| 128 | of that symbol. For 'filter' and 'tracestop' filters, if <size> is | ||
| 129 | omitted and <start> is a symbol, then the size is calculated to the end | ||
| 130 | of that symbol. | ||
| 131 | |||
| 132 | If <size> is omitted and <start> is '*', then the start and size will | ||
| 133 | be calculated from the first and last symbols, i.e. to trace the whole | ||
| 134 | file. | ||
| 135 | |||
| 136 | If symbol names (or '*') are provided, they must be surrounded by white | ||
| 137 | space. | ||
| 138 | |||
| 139 | The filter passed to the kernel is not necessarily the same as entered. | ||
| 140 | To see the filter that is passed, use the -v option. | ||
| 141 | |||
| 142 | The kernel may not be able to configure a trace region if it is not | ||
| 143 | within a single mapping. MMAP events (or /proc/<pid>/maps) can be | ||
| 144 | examined to determine if that is a possibility. | ||
| 145 | |||
| 146 | Multiple filters can be separated with space or comma. | ||
| 147 | |||
| 95 | --exclude-perf:: | 148 | --exclude-perf:: |
| 96 | Don't record events issued by perf itself. This option should follow | 149 | Don't record events issued by perf itself. This option should follow |
| 97 | a event selector (-e) which selects tracepoint event(s). It adds a | 150 | a event selector (-e) which selects tracepoint event(s). It adds a |
