Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) perf-config(1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) ==============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) NAME
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) ----
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) perf-config - Get and set variables in a configuration file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) SYNOPSIS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) --------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) [verse]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 'perf config' [<file-option>] [section.name[=value] ...]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 'perf config' [<file-option>] -l | --list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) DESCRIPTION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) You can manage variables in a configuration file with this command.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) OPTIONS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) -------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) -l::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) --list::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 	Show current config variables, name and value, for all sections.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) --user::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 	For writing and reading options: write to user
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 	'$HOME/.perfconfig' file or read it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) --system::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 	For writing and reading options: write to system-wide
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 	'$(sysconfdir)/perfconfig' or read it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) CONFIGURATION FILE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) ------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) The perf configuration file contains many variables to change various
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) aspects of each of its tools, including output, disk usage, etc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) The '$HOME/.perfconfig' file is used to store a per-user configuration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) The file '$(sysconfdir)/perfconfig' can be used to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) store a system-wide default configuration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) One an disable reading config files by setting the PERF_CONFIG environment
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) variable to /dev/null, or provide an alternate config file by setting that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) variable.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) When reading or writing, the values are read from the system and user
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) configuration files by default, and options '--system' and '--user'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) can be used to tell the command to read from or write to only that location.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) Syntax
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) ~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) The file consist of sections. A section starts with its name
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) surrounded by square brackets and continues till the next section
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) begins. Each variable must be in a section, and have the form
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 'name = value', for example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 	[section]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 		name1 = value1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 		name2 = value2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) Section names are case sensitive and can contain any characters except
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) newline (double quote `"` and backslash have to be escaped as `\"` and `\\`,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) respectively). Section headers can't span multiple lines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) Example
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) ~~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) Given a $HOME/.perfconfig like this:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) # This is the config file, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) # a '#' and ';' character indicates a comment
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 	[colors]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 		# Color variables
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 		top = red, default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 		medium = green, default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 		normal = lightgray, default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 		selected = white, lightgray
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 		jump_arrows = blue, default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 		addr = magenta, default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 		root = white, blue
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 	[tui]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 		# Defaults if linked with libslang
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 		report = on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 		annotate = on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 		top = on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 	[buildid]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 		# Default, disable using /dev/null
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 		dir = ~/.debug
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 	[annotate]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 		# Defaults
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 		hide_src_code = false
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 		use_offset = true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 		jump_arrows = true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 		show_nr_jumps = false
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 	[help]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 		# Format can be man, info, web or html
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 		format = man
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 		autocorrect = 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 	[ui]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 		show-headers = true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 	[call-graph]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 		# fp (framepointer), dwarf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 		record-mode = fp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 		print-type = graph
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 		order = caller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 		sort-key = function
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 	[report]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 		# Defaults
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 		sort_order = comm,dso,symbol
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 		percent-limit = 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 		queue-size = 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 		children = true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 		group = true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 	[llvm]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 		dump-obj = true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 		clang-opt = -g
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) You can hide source code of annotate feature setting the config to false with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 	% perf config annotate.hide_src_code=true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) If you want to add or modify several config items, you can do like
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 	% perf config ui.show-headers=false kmem.default=slab
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) To modify the sort order of report functionality in user config file(i.e. `~/.perfconfig`), do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 	% perf config --user report sort-order=srcline
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) To change colors of selected line to other foreground and background colors
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) in system config file (i.e. `$(sysconf)/perfconfig`), do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) 	% perf config --system colors.selected=yellow,green
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) To query the record mode of call graph, do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 	% perf config call-graph.record-mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) If you want to know multiple config key/value pairs, you can do like
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 	% perf config report.queue-size call-graph.order report.children
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) To query the config value of sort order of call graph in user config file (i.e. `~/.perfconfig`), do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 	% perf config --user call-graph.sort-order
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) To query the config value of buildid directory in system config file (i.e. `$(sysconf)/perfconfig`), do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 	% perf config --system buildid.dir
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) Variables
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) ~~~~~~~~~
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) colors.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 	The variables for customizing the colors used in the output for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 	'report', 'top' and 'annotate' in the TUI. They should specify the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 	foreground and background colors, separated by a comma, for example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 		medium = green, lightgray
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) 	If you want to use the color configured for you terminal, just leave it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 	as 'default', for example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 		medium = default, lightgray
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 	Available colors:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) 	red, yellow, green, cyan, gray, black, blue,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 	white, default, magenta, lightgray
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 	colors.top::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 		'top' means a overhead percentage which is more than 5%.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) 		And values of this variable specify percentage colors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) 		Basic key values are foreground-color 'red' and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 		background-color 'default'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) 	colors.medium::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) 		'medium' means a overhead percentage which has more than 0.5%.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) 		Default values are 'green' and 'default'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 	colors.normal::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) 		'normal' means the rest of overhead percentages
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 		except 'top', 'medium', 'selected'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) 		Default values are 'lightgray' and 'default'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) 	colors.selected::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) 		This selects the colors for the current entry in a list of entries
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) 		from sub-commands (top, report, annotate).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) 		Default values are 'black' and 'lightgray'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 	colors.jump_arrows::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) 		Colors for jump arrows on assembly code listings
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) 		such as 'jns', 'jmp', 'jane', etc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) 		Default values are 'blue', 'default'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) 	colors.addr::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 		This selects colors for addresses from 'annotate'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 		Default values are 'magenta', 'default'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) 	colors.root::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) 		Colors for headers in the output of a sub-commands (top, report).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) 		Default values are 'white', 'blue'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) core.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) 	core.proc-map-timeout::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) 		Sets a timeout (in milliseconds) for parsing /proc/<pid>/maps files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) 		Can be overridden by the --proc-map-timeout option on supported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) 		subcommands. The default timeout is 500ms.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) tui.*, gtk.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 	Subcommands that can be configured here are 'top', 'report' and 'annotate'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) 	These values are booleans, for example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) 	[tui]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) 		top = true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) 	will make the TUI be the default for the 'top' subcommand. Those will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) 	available if the required libs were detected at tool build time.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) buildid.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) 	buildid.dir::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) 		Each executable and shared library in modern distributions comes with a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) 		content based identifier that, if available, will be inserted in a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) 		'perf.data' file header to, at analysis time find what is needed to do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) 		symbol resolution, code annotation, etc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) 		The recording tools also stores a hard link or copy in a per-user
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) 		directory, $HOME/.debug/, of binaries, shared libraries, /proc/kallsyms
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) 		and /proc/kcore files to be used at analysis time.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) 		The buildid.dir variable can be used to either change this directory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) 		cache location, or to disable it altogether. If you want to disable it,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) 		set buildid.dir to /dev/null. The default is $HOME/.debug
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) annotate.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) 	These are in control of addresses, jump function, source code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) 	in lines of assembly code from a specific program.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) 	annotate.disassembler_style:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) 		Use this to change the default disassembler style to some other value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) 		supported by binutils, such as "intel", see the '-M' option help in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) 		'objdump' man page.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) 	annotate.hide_src_code::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) 		If a program which is analyzed has source code,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) 		this option lets 'annotate' print a list of assembly code with the source code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) 		For example, let's see a part of a program. There're four lines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) 		If this option is 'true', they can be printed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) 		without source code from a program as below.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) 		│        push   %rbp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) 		│        mov    %rsp,%rbp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) 		│        sub    $0x10,%rsp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) 		│        mov    (%rdi),%rdx
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) 		But if this option is 'false', source code of the part
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) 		can be also printed as below. Default is 'false'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) 		│      struct rb_node *rb_next(const struct rb_node *node)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) 		│      {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) 		│        push   %rbp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) 		│        mov    %rsp,%rbp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) 		│        sub    $0x10,%rsp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) 		│              struct rb_node *parent;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) 		│
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) 		│              if (RB_EMPTY_NODE(node))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) 		│        mov    (%rdi),%rdx
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) 		│              return n;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) 		This option works with tui, stdio2 browsers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278)         annotate.use_offset::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) 		Basing on a first address of a loaded function, offset can be used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) 		Instead of using original addresses of assembly code,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) 		addresses subtracted from a base address can be printed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) 		Let's illustrate an example.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) 		If a base address is 0XFFFFFFFF81624d50 as below,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) 		ffffffff81624d50 <load0>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) 		an address on assembly code has a specific absolute address as below
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) 		ffffffff816250b8:│  mov    0x8(%r14),%rdi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) 		but if use_offset is 'true', an address subtracted from a base address is printed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) 		Default is true. This option is only applied to TUI.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) 		             368:│  mov    0x8(%r14),%rdi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) 		This option works with tui, stdio2 browsers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) 	annotate.jump_arrows::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) 		There can be jump instruction among assembly code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) 		Depending on a boolean value of jump_arrows,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) 		arrows can be printed or not which represent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) 		where do the instruction jump into as below.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) 		│     ┌──jmp    1333
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) 		│     │  xchg   %ax,%ax
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) 		│1330:│  mov    %r15,%r10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) 		│1333:└─→cmp    %r15,%r14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) 		If jump_arrow is 'false', the arrows isn't printed as below.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) 		Default is 'false'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) 		│      ↓ jmp    1333
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) 		│        xchg   %ax,%ax
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) 		│1330:   mov    %r15,%r10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) 		│1333:   cmp    %r15,%r14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) 		This option works with tui browser.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319)         annotate.show_linenr::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) 		When showing source code if this option is 'true',
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) 		line numbers are printed as below.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) 		│1628         if (type & PERF_SAMPLE_IDENTIFIER) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) 		│     ↓ jne    508
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) 		│1628                 data->id = *array;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) 		│1629                 array++;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) 		│1630         }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) 		However if this option is 'false', they aren't printed as below.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) 		Default is 'false'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) 		│             if (type & PERF_SAMPLE_IDENTIFIER) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) 		│     ↓ jne    508
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) 		│                     data->id = *array;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) 		│                     array++;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) 		│             }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) 		This option works with tui, stdio2 browsers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340)         annotate.show_nr_jumps::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) 		Let's see a part of assembly code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) 		│1382:   movb   $0x1,-0x270(%rbp)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) 		If use this, the number of branches jumping to that address can be printed as below.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) 		Default is 'false'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) 		│1 1382:   movb   $0x1,-0x270(%rbp)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) 		This option works with tui, stdio2 browsers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352)         annotate.show_total_period::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) 		To compare two records on an instruction base, with this option
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) 		provided, display total number of samples that belong to a line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) 		in assembly code. If this option is 'true', total periods are printed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) 		instead of percent values as below.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) 		  302 │      mov    %eax,%eax
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) 		But if this option is 'false', percent values for overhead are printed i.e.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) 		Default is 'false'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) 		99.93 │      mov    %eax,%eax
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) 		This option works with tui, stdio2, stdio browsers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) 	annotate.show_nr_samples::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) 		By default perf annotate shows percentage of samples. This option
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) 		can be used to print absolute number of samples. Ex, when set as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) 		false:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) 		Percent│
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) 		 74.03 │      mov    %fs:0x28,%rax
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) 		When set as true:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) 		Samples│
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) 		     6 │      mov    %fs:0x28,%rax
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) 		This option works with tui, stdio2, stdio browsers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) 	annotate.offset_level::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) 		Default is '1', meaning just jump targets will have offsets show right beside
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) 		the instruction. When set to '2' 'call' instructions will also have its offsets
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) 		shown, 3 or higher will show offsets for all instructions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) 		This option works with tui, stdio2 browsers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) hist.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) 	hist.percentage::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) 		This option control the way to calculate overhead of filtered entries -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) 		that means the value of this option is effective only if there's a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) 		filter (by comm, dso or symbol name). Suppose a following example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) 		       Overhead  Symbols
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) 		       ........  .......
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) 		        33.33%     foo
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) 		        33.33%     bar
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) 		        33.33%     baz
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) 	       This is an original overhead and we'll filter out the first 'foo'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) 	       entry. The value of 'relative' would increase the overhead of 'bar'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) 	       and 'baz' to 50.00% for each, while 'absolute' would show their
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) 	       current overhead (33.33%).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) ui.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) 	ui.show-headers::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408) 		This option controls display of column headers (like 'Overhead' and 'Symbol')
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) 		in 'report' and 'top'. If this option is false, they are hidden.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) 		This option is only applied to TUI.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) call-graph.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) 	The following controls the handling of call-graphs (obtained via the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) 	-g/--call-graph options).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) 	call-graph.record-mode::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) 		The mode for user space can be 'fp' (frame pointer), 'dwarf'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) 		and 'lbr'.  The value 'dwarf' is effective only if libunwind
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) 		(or a recent version of libdw) is present on the system;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) 		the value 'lbr' only works for certain cpus. The method for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421) 		kernel space is controlled not by this option but by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) 		kernel config (CONFIG_UNWINDER_*).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) 	call-graph.dump-size::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) 		The size of stack to dump in order to do post-unwinding. Default is 8192 (byte).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) 		When using dwarf into record-mode, the default size will be used if omitted.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) 	call-graph.print-type::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429) 		The print-types can be graph (graph absolute), fractal (graph relative),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) 		flat and folded. This option controls a way to show overhead for each callchain
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431) 		entry. Suppose a following example.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433)                 Overhead  Symbols
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434)                 ........  .......
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435)                   40.00%  foo
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436)                           |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437)                           ---foo
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438)                              |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439)                              |--50.00%--bar
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440)                              |          main
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441)                              |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442)                               --50.00%--baz
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443)                                         main
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) 		This output is a 'fractal' format. The 'foo' came from 'bar' and 'baz' exactly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) 		half and half so 'fractal' shows 50.00% for each
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) 		(meaning that it assumes 100% total overhead of 'foo').
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) 		The 'graph' uses absolute overhead value of 'foo' as total so each of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) 		'bar' and 'baz' callchain will have 20.00% of overhead.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) 		If 'flat' is used, single column and linear exposure of call chains.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452) 		'folded' mean call chains are displayed in a line, separated by semicolons.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454) 	call-graph.order::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455) 		This option controls print order of callchains. The default is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456) 		'callee' which means callee is printed at top and then followed by its
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) 		caller and so on. The 'caller' prints it in reverse order.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) 		If this option is not set and report.children or top.children is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) 		set to true (or the equivalent command line option is given),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461) 		the default value of this option is changed to 'caller' for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) 		execution of 'perf report' or 'perf top'. Other commands will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463) 		still default to 'callee'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465) 	call-graph.sort-key::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) 		The callchains are merged if they contain same information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467) 		The sort-key option determines a way to compare the callchains.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468) 		A value of 'sort-key' can be 'function' or 'address'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) 		The default is 'function'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) 	call-graph.threshold::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) 		When there're many callchains it'd print tons of lines. So perf omits
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) 		small callchains under a certain overhead (threshold) and this option
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) 		control the threshold. Default is 0.5 (%). The overhead is calculated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) 		by value depends on call-graph.print-type.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) 	call-graph.print-limit::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) 		This is a maximum number of lines of callchain printed for a single
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479) 		histogram entry. Default is 0 which means no limitation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) report.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) 	report.sort_order::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) 		Allows changing the default sort order from "comm,dso,symbol" to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) 		some other default, for instance "sym,dso" may be more fitting for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485) 		kernel developers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486) 	report.percent-limit::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487) 		This one is mostly the same as call-graph.threshold but works for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) 		histogram entries. Entries having an overhead lower than this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489) 		percentage will not be printed. Default is '0'. If percent-limit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) 		is '10', only entries which have more than 10% of overhead will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) 		printed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493) 	report.queue-size::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) 		This option sets up the maximum allocation size of the internal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) 		event queue for ordering events. Default is 0, meaning no limit.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) 	report.children::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) 		'Children' means functions called from another function.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499) 		If this option is true, 'perf report' cumulates callchains of children
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500) 		and show (accumulated) total overhead as well as 'Self' overhead.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501) 		Please refer to the 'perf report' manual. The default is 'true'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503) 	report.group::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) 		This option is to show event group information together.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505) 		Example output with this turned on, notice that there is one column
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506) 		per event in the group, ref-cycles and cycles:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508) 		# group: {ref-cycles,cycles}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509) 		# ========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510) 		#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) 		# Samples: 7K of event 'anon group { ref-cycles, cycles }'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512) 		# Event count (approx.): 6876107743
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513) 		#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514) 		#         Overhead  Command      Shared Object               Symbol
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) 		# ................  .......  .................  ...................
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516) 		#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517) 		    99.84%  99.76%  noploop  noploop            [.] main
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518) 		     0.07%   0.00%  noploop  ld-2.15.so         [.] strcmp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) 		     0.03%   0.00%  noploop  [kernel.kallsyms]  [k] timerqueue_del
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521) top.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522) 	top.children::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523) 		Same as 'report.children'. So if it is enabled, the output of 'top'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524) 		command will have 'Children' overhead column as well as 'Self' overhead
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525) 		column by default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) 		The default is 'true'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528) 	top.call-graph::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) 		This is identical to 'call-graph.record-mode', except it is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530) 		applicable only for 'top' subcommand. This option ONLY setup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) 		the unwind method. To enable 'perf top' to actually use it,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532) 		the command line option -g must be specified.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534) man.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) 	man.viewer::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) 		This option can assign a tool to view manual pages when 'help'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) 		subcommand was invoked. Supported tools are 'man', 'woman'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538) 		(with emacs client) and 'konqueror'. Default is 'man'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540) 		New man viewer tool can be also added using 'man.<tool>.cmd'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541) 		or use different path using 'man.<tool>.path' config option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543) pager.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) 	pager.<subcommand>::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545) 		When the subcommand is run on stdio, determine whether it uses
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546) 		pager or not based on this value. Default is 'unspecified'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548) kmem.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) 	kmem.default::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550) 		This option decides which allocator is to be analyzed if neither
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551) 		'--slab' nor '--page' option is used. Default is 'slab'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553) record.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554) 	record.build-id::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555) 		This option can be 'cache', 'no-cache' or 'skip'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) 		'cache' is to post-process data and save/update the binaries into
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557) 		the build-id cache (in ~/.debug). This is the default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) 		But if this option is 'no-cache', it will not update the build-id cache.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559) 		'skip' skips post-processing and does not update the cache.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561) 	record.call-graph::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562) 		This is identical to 'call-graph.record-mode', except it is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563) 		applicable only for 'record' subcommand. This option ONLY setup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) 		the unwind method. To enable 'perf record' to actually use it,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) 		the command line option -g must be specified.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) 	record.aio::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568) 		Use 'n' control blocks in asynchronous (Posix AIO) trace writing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569) 		mode ('n' default: 1, max: 4).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571) diff.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572) 	diff.order::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573) 		This option sets the number of columns to sort the result.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574) 		The default is 0, which means sorting by baseline.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575) 		Setting it to 1 will sort the result by delta (or other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576) 		compute method selected).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578) 	diff.compute::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579) 		This options sets the method for computing the diff result.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580) 		Possible values are 'delta', 'delta-abs', 'ratio' and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) 		'wdiff'.  Default is 'delta'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583) trace.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) 	trace.add_events::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585) 		Allows adding a set of events to add to the ones specified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) 		by the user, or use as a default one if none was specified.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587) 		The initial use case is to add augmented_raw_syscalls.o to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588) 		activate the 'perf trace' logic that looks for syscall
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) 		pointer contents after the normal tracepoint payload.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) 	trace.args_alignment::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) 		Number of columns to align the argument list, default is 70,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) 		use 40 for the strace default, zero to no alignment.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 594) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 595) 	trace.no_inherit::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 596) 		Do not follow children threads.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 597) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 598) 	trace.show_arg_names::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 599) 		Should syscall argument names be printed? If not then trace.show_zeros
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 600) 		will be set.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 601) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 602) 	trace.show_duration::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 603) 		Show syscall duration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 604) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 605) 	trace.show_prefix::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 606) 		If set to 'yes' will show common string prefixes in tables. The default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 607) 		is to remove the common prefix in things like "MAP_SHARED", showing just "SHARED".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 608) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 609) 	trace.show_timestamp::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 610) 		Show syscall start timestamp.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 611) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 612) 	trace.show_zeros::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 613) 		Do not suppress syscall arguments that are equal to zero.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 614) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 615) 	trace.tracepoint_beautifiers::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 616) 		Use "libtraceevent" to use that library to augment the tracepoint arguments,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 617) 		"libbeauty", the default, to use the same argument beautifiers used in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 618) 		strace-like sys_enter+sys_exit lines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 619) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 620) ftrace.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 621) 	ftrace.tracer::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 622) 		Can be used to select the default tracer when neither -G nor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 623) 		-F option is not specified. Possible values are 'function' and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 624) 		'function_graph'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 625) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 626) llvm.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 627) 	llvm.clang-path::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 628) 		Path to clang. If omit, search it from $PATH.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 629) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 630) 	llvm.clang-bpf-cmd-template::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 631) 		Cmdline template. Below lines show its default value. Environment
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 632) 		variable is used to pass options.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 633) 		"$CLANG_EXEC -D__KERNEL__ -D__NR_CPUS__=$NR_CPUS "\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 634) 		"-DLINUX_VERSION_CODE=$LINUX_VERSION_CODE "	\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 635) 		"$CLANG_OPTIONS $PERF_BPF_INC_OPTIONS $KERNEL_INC_OPTIONS " \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 636) 		"-Wno-unused-value -Wno-pointer-sign "		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 637) 		"-working-directory $WORKING_DIR "		\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 638) 		"-c \"$CLANG_SOURCE\" -target bpf $CLANG_EMIT_LLVM -O2 -o - $LLVM_OPTIONS_PIPE"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 639) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 640) 	llvm.clang-opt::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 641) 		Options passed to clang.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 642) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 643) 	llvm.kbuild-dir::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 644) 		kbuild directory. If not set, use /lib/modules/`uname -r`/build.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 645) 		If set to "" deliberately, skip kernel header auto-detector.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 646) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 647) 	llvm.kbuild-opts::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 648) 		Options passed to 'make' when detecting kernel header options.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 649) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 650) 	llvm.dump-obj::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 651) 		Enable perf dump BPF object files compiled by LLVM.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 652) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 653) 	llvm.opts::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 654) 		Options passed to llc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 655) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 656) samples.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 657) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 658) 	samples.context::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 659) 		Define how many ns worth of time to show
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 660) 		around samples in perf report sample context browser.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 661) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 662) scripts.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 663) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 664) 	Any option defines a script that is added to the scripts menu
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 665) 	in the interactive perf browser and whose output is displayed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 666) 	The name of the option is the name, the value is a script command line.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 667) 	The script gets the same options passed as a full perf script,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 668) 	in particular -i perfdata file, --cpu, --tid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 669) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 670) convert.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 671) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 672) 	convert.queue-size::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 673) 		Limit the size of ordered_events queue, so we could control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 674) 		allocation size of perf data files without proper finished
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 675) 		round events.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 676) stat.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 677) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 678) 	stat.big-num::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 679) 		(boolean) Change the default for "--big-num". To make
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 680) 		"--no-big-num" the default, set "stat.big-num=false".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 681) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 682) intel-pt.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 683) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 684) 	intel-pt.cache-divisor::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 685) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 686) 	intel-pt.mispred-all::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 687) 		If set, Intel PT decoder will set the mispred flag on all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 688) 		branches.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 689) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 690) auxtrace.*::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 691) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 692) 	auxtrace.dumpdir::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 693) 		s390 only. The directory to save the auxiliary trace buffer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 694) 		can be changed using this option. Ex, auxtrace.dumpdir=/tmp.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 695) 		If the directory does not exist or has the wrong file type,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 696) 		the current directory is used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 697) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 698) SEE ALSO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 699) --------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 700) linkperf:perf[1]