hc
2024-09-20 cf4ce59b3b70238352c7f1729f0f7223214828ad
kernel/tools/perf/Documentation/perf-top.txt
....@@ -53,6 +53,11 @@
5353 --group::
5454 Put the counters into a counter group.
5555
56
+--group-sort-idx::
57
+ Sort the output by the event at the index n in group. If n is invalid,
58
+ sort by the first event. It can support multiple groups with different
59
+ amount of events. WARNING: This should be used on grouped events.
60
+
5661 -F <freq>::
5762 --freq=<freq>::
5863 Profile at this frequency. Use 'max' to use the currently maximum
....@@ -69,6 +74,9 @@
6974
7075 --ignore-vmlinux::
7176 Ignore vmlinux files.
77
+
78
+--kallsyms=<file>::
79
+ kallsyms pathname
7280
7381 -m <pages>::
7482 --mmap-pages=<pages>::
....@@ -154,6 +162,12 @@
154162
155163 -M::
156164 --disassembler-style=:: Set disassembler style for objdump.
165
+
166
+--prefix=PREFIX::
167
+--prefix-strip=N::
168
+ Remove first N entries from source file path names in executables
169
+ and add PREFIX. This allows to display source code compiled on systems
170
+ with different file system layout.
157171
158172 --source::
159173 Interleave source code with assembly code. Enabled by default,
....@@ -242,6 +256,16 @@
242256 --hierarchy::
243257 Enable hierarchy output.
244258
259
+--overwrite::
260
+ Enable this to use just the most recent records, which helps in high core count
261
+ machines such as Knights Landing/Mill, but right now is disabled by default as
262
+ the pausing used in this technique is leading to loss of metadata events such
263
+ as PERF_RECORD_MMAP which makes 'perf top' unable to resolve samples, leading
264
+ to lots of unknown samples appearing on the UI. Enable this if you are in such
265
+ machines and profiling a workload that doesn't creates short lived threads and/or
266
+ doesn't uses many executable mmap operations. Work is being planed to solve
267
+ this situation, till then, this will remain disabled by default.
268
+
245269 --force::
246270 Don't do ownership validation.
247271
....@@ -249,6 +273,73 @@
249273 The number of threads to run when synthesizing events for existing processes.
250274 By default, the number of threads equals to the number of online CPUs.
251275
276
+--namespaces::
277
+ Record events of type PERF_RECORD_NAMESPACES and display it with the
278
+ 'cgroup_id' sort key.
279
+
280
+--all-cgroups::
281
+ Record events of type PERF_RECORD_CGROUP and display it with the
282
+ 'cgroup' sort key.
283
+
284
+--switch-on EVENT_NAME::
285
+ Only consider events after this event is found.
286
+
287
+ E.g.:
288
+
289
+ Find out where broadcast packets are handled
290
+
291
+ perf probe -L icmp_rcv
292
+
293
+ Insert a probe there:
294
+
295
+ perf probe icmp_rcv:59
296
+
297
+ Start perf top and ask it to only consider the cycles events when a
298
+ broadcast packet arrives This will show a menu with two entries and
299
+ will start counting when a broadcast packet arrives:
300
+
301
+ perf top -e cycles,probe:icmp_rcv --switch-on=probe:icmp_rcv
302
+
303
+ Alternatively one can ask for --group and then two overhead columns
304
+ will appear, the first for cycles and the second for the switch-on event.
305
+
306
+ perf top --group -e cycles,probe:icmp_rcv --switch-on=probe:icmp_rcv
307
+
308
+ This may be interesting to measure a workload only after some initialization
309
+ phase is over, i.e. insert a perf probe at that point and use the above
310
+ examples replacing probe:icmp_rcv with the just-after-init probe.
311
+
312
+--switch-off EVENT_NAME::
313
+ Stop considering events after this event is found.
314
+
315
+--show-on-off-events::
316
+ Show the --switch-on/off events too. This has no effect in 'perf top' now
317
+ but probably we'll make the default not to show the switch-on/off events
318
+ on the --group mode and if there is only one event besides the off/on ones,
319
+ go straight to the histogram browser, just like 'perf top' with no events
320
+ explicitely specified does.
321
+
322
+--stitch-lbr::
323
+ Show callgraph with stitched LBRs, which may have more complete
324
+ callgraph. The option must be used with --call-graph lbr recording.
325
+ Disabled by default. In common cases with call stack overflows,
326
+ it can recreate better call stacks than the default lbr call stack
327
+ output. But this approach is not full proof. There can be cases
328
+ where it creates incorrect call stacks from incorrect matches.
329
+ The known limitations include exception handing such as
330
+ setjmp/longjmp will have calls/returns not match.
331
+
332
+ifdef::HAVE_LIBPFM[]
333
+--pfm-events events::
334
+Select a PMU event using libpfm4 syntax (see http://perfmon2.sf.net)
335
+including support for event filters. For example '--pfm-events
336
+inst_retired:any_p:u:c=1:i'. More than one event can be passed to the
337
+option using the comma separator. Hardware events and generic hardware
338
+events cannot be mixed together. The latter must be used with the -e
339
+option. The -e option and this one can be mixed and matched. Events
340
+can be grouped using the {} notation.
341
+endif::HAVE_LIBPFM[]
342
+
252343 INTERACTIVE PROMPTING KEYS
253344 --------------------------
254345