Back to home page

OSCL-LXR

 
 

    


0001 perf-config(1)
0002 ==============
0003 
0004 NAME
0005 ----
0006 perf-config - Get and set variables in a configuration file.
0007 
0008 SYNOPSIS
0009 --------
0010 [verse]
0011 'perf config' [<file-option>] [section.name[=value] ...]
0012 or
0013 'perf config' [<file-option>] -l | --list
0014 
0015 DESCRIPTION
0016 -----------
0017 You can manage variables in a configuration file with this command.
0018 
0019 OPTIONS
0020 -------
0021 
0022 -l::
0023 --list::
0024         Show current config variables, name and value, for all sections.
0025 
0026 --user::
0027         For writing and reading options: write to user
0028         '$HOME/.perfconfig' file or read it.
0029 
0030 --system::
0031         For writing and reading options: write to system-wide
0032         '$(sysconfdir)/perfconfig' or read it.
0033 
0034 CONFIGURATION FILE
0035 ------------------
0036 
0037 The perf configuration file contains many variables to change various
0038 aspects of each of its tools, including output, disk usage, etc.
0039 The '$HOME/.perfconfig' file is used to store a per-user configuration.
0040 The file '$(sysconfdir)/perfconfig' can be used to
0041 store a system-wide default configuration.
0042 
0043 One an disable reading config files by setting the PERF_CONFIG environment
0044 variable to /dev/null, or provide an alternate config file by setting that
0045 variable.
0046 
0047 When reading or writing, the values are read from the system and user
0048 configuration files by default, and options '--system' and '--user'
0049 can be used to tell the command to read from or write to only that location.
0050 
0051 Syntax
0052 ~~~~~~
0053 
0054 The file consist of sections. A section starts with its name
0055 surrounded by square brackets and continues till the next section
0056 begins. Each variable must be in a section, and have the form
0057 'name = value', for example:
0058 
0059         [section]
0060                 name1 = value1
0061                 name2 = value2
0062 
0063 Section names are case sensitive and can contain any characters except
0064 newline (double quote `"` and backslash have to be escaped as `\"` and `\\`,
0065 respectively). Section headers can't span multiple lines.
0066 
0067 Example
0068 ~~~~~~~
0069 
0070 Given a $HOME/.perfconfig like this:
0071 
0072 #
0073 # This is the config file, and
0074 # a '#' and ';' character indicates a comment
0075 #
0076 
0077         [colors]
0078                 # Color variables
0079                 top = red, default
0080                 medium = green, default
0081                 normal = lightgray, default
0082                 selected = white, lightgray
0083                 jump_arrows = blue, default
0084                 addr = magenta, default
0085                 root = white, blue
0086 
0087         [tui]
0088                 # Defaults if linked with libslang
0089                 report = on
0090                 annotate = on
0091                 top = on
0092 
0093         [buildid]
0094                 # Default, disable using /dev/null
0095                 dir = ~/.debug
0096 
0097         [annotate]
0098                 # Defaults
0099                 hide_src_code = false
0100                 use_offset = true
0101                 jump_arrows = true
0102                 show_nr_jumps = false
0103 
0104         [help]
0105                 # Format can be man, info, web or html
0106                 format = man
0107                 autocorrect = 0
0108 
0109         [ui]
0110                 show-headers = true
0111 
0112         [call-graph]
0113                 # fp (framepointer), dwarf
0114                 record-mode = fp
0115                 print-type = graph
0116                 order = caller
0117                 sort-key = function
0118 
0119         [report]
0120                 # Defaults
0121                 sort_order = comm,dso,symbol
0122                 percent-limit = 0
0123                 queue-size = 0
0124                 children = true
0125                 group = true
0126                 skip-empty = true
0127 
0128         [llvm]
0129                 dump-obj = true
0130                 clang-opt = -g
0131 
0132 You can hide source code of annotate feature setting the config to false with
0133 
0134         % perf config annotate.hide_src_code=true
0135 
0136 If you want to add or modify several config items, you can do like
0137 
0138         % perf config ui.show-headers=false kmem.default=slab
0139 
0140 To modify the sort order of report functionality in user config file(i.e. `~/.perfconfig`), do
0141 
0142         % perf config --user report.sort-order=srcline
0143 
0144 To change colors of selected line to other foreground and background colors
0145 in system config file (i.e. `$(sysconf)/perfconfig`), do
0146 
0147         % perf config --system colors.selected=yellow,green
0148 
0149 To query the record mode of call graph, do
0150 
0151         % perf config call-graph.record-mode
0152 
0153 If you want to know multiple config key/value pairs, you can do like
0154 
0155         % perf config report.queue-size call-graph.order report.children
0156 
0157 To query the config value of sort order of call graph in user config file (i.e. `~/.perfconfig`), do
0158 
0159         % perf config --user call-graph.sort-order
0160 
0161 To query the config value of buildid directory in system config file (i.e. `$(sysconf)/perfconfig`), do
0162 
0163         % perf config --system buildid.dir
0164 
0165 Variables
0166 ~~~~~~~~~
0167 
0168 colors.*::
0169         The variables for customizing the colors used in the output for the
0170         'report', 'top' and 'annotate' in the TUI. They should specify the
0171         foreground and background colors, separated by a comma, for example:
0172 
0173                 medium = green, lightgray
0174 
0175         If you want to use the color configured for you terminal, just leave it
0176         as 'default', for example:
0177 
0178                 medium = default, lightgray
0179 
0180         Available colors:
0181         red, yellow, green, cyan, gray, black, blue,
0182         white, default, magenta, lightgray
0183 
0184         colors.top::
0185                 'top' means a overhead percentage which is more than 5%.
0186                 And values of this variable specify percentage colors.
0187                 Basic key values are foreground-color 'red' and
0188                 background-color 'default'.
0189         colors.medium::
0190                 'medium' means a overhead percentage which has more than 0.5%.
0191                 Default values are 'green' and 'default'.
0192         colors.normal::
0193                 'normal' means the rest of overhead percentages
0194                 except 'top', 'medium', 'selected'.
0195                 Default values are 'lightgray' and 'default'.
0196         colors.selected::
0197                 This selects the colors for the current entry in a list of entries
0198                 from sub-commands (top, report, annotate).
0199                 Default values are 'black' and 'lightgray'.
0200         colors.jump_arrows::
0201                 Colors for jump arrows on assembly code listings
0202                 such as 'jns', 'jmp', 'jane', etc.
0203                 Default values are 'blue', 'default'.
0204         colors.addr::
0205                 This selects colors for addresses from 'annotate'.
0206                 Default values are 'magenta', 'default'.
0207         colors.root::
0208                 Colors for headers in the output of a sub-commands (top, report).
0209                 Default values are 'white', 'blue'.
0210 
0211 core.*::
0212         core.proc-map-timeout::
0213                 Sets a timeout (in milliseconds) for parsing /proc/<pid>/maps files.
0214                 Can be overridden by the --proc-map-timeout option on supported
0215                 subcommands. The default timeout is 500ms.
0216 
0217 tui.*, gtk.*::
0218         Subcommands that can be configured here are 'top', 'report' and 'annotate'.
0219         These values are booleans, for example:
0220 
0221         [tui]
0222                 top = true
0223 
0224         will make the TUI be the default for the 'top' subcommand. Those will be
0225         available if the required libs were detected at tool build time.
0226 
0227 buildid.*::
0228         buildid.dir::
0229                 Each executable and shared library in modern distributions comes with a
0230                 content based identifier that, if available, will be inserted in a
0231                 'perf.data' file header to, at analysis time find what is needed to do
0232                 symbol resolution, code annotation, etc.
0233 
0234                 The recording tools also stores a hard link or copy in a per-user
0235                 directory, $HOME/.debug/, of binaries, shared libraries, /proc/kallsyms
0236                 and /proc/kcore files to be used at analysis time.
0237 
0238                 The buildid.dir variable can be used to either change this directory
0239                 cache location, or to disable it altogether. If you want to disable it,
0240                 set buildid.dir to /dev/null. The default is $HOME/.debug
0241 
0242 buildid-cache.*::
0243         buildid-cache.debuginfod=URLs
0244                 Specify debuginfod URLs to be used when retrieving perf.data binaries,
0245                 it follows the same syntax as the DEBUGINFOD_URLS variable, like:
0246 
0247                   buildid-cache.debuginfod=http://192.168.122.174:8002
0248 
0249 annotate.*::
0250         These are in control of addresses, jump function, source code
0251         in lines of assembly code from a specific program.
0252 
0253         annotate.disassembler_style:
0254                 Use this to change the default disassembler style to some other value
0255                 supported by binutils, such as "intel", see the '-M' option help in the
0256                 'objdump' man page.
0257 
0258         annotate.hide_src_code::
0259                 If a program which is analyzed has source code,
0260                 this option lets 'annotate' print a list of assembly code with the source code.
0261                 For example, let's see a part of a program. There're four lines.
0262                 If this option is 'true', they can be printed
0263                 without source code from a program as below.
0264 
0265                 │        push   %rbp
0266                 │        mov    %rsp,%rbp
0267                 │        sub    $0x10,%rsp
0268                 │        mov    (%rdi),%rdx
0269 
0270                 But if this option is 'false', source code of the part
0271                 can be also printed as below. Default is 'false'.
0272 
0273                 │      struct rb_node *rb_next(const struct rb_node *node)
0274                 │      {
0275                 │        push   %rbp
0276                 │        mov    %rsp,%rbp
0277                 │        sub    $0x10,%rsp
0278                 │              struct rb_node *parent;
02790280                 │              if (RB_EMPTY_NODE(node))
0281                 │        mov    (%rdi),%rdx
0282                 │              return n;
0283 
0284                 This option works with tui, stdio2 browsers.
0285 
0286         annotate.use_offset::
0287                 Basing on a first address of a loaded function, offset can be used.
0288                 Instead of using original addresses of assembly code,
0289                 addresses subtracted from a base address can be printed.
0290                 Let's illustrate an example.
0291                 If a base address is 0XFFFFFFFF81624d50 as below,
0292 
0293                 ffffffff81624d50 <load0>
0294 
0295                 an address on assembly code has a specific absolute address as below
0296 
0297                 ffffffff816250b8:│  mov    0x8(%r14),%rdi
0298 
0299                 but if use_offset is 'true', an address subtracted from a base address is printed.
0300                 Default is true. This option is only applied to TUI.
0301 
0302                              368:│  mov    0x8(%r14),%rdi
0303 
0304                 This option works with tui, stdio2 browsers.
0305 
0306         annotate.jump_arrows::
0307                 There can be jump instruction among assembly code.
0308                 Depending on a boolean value of jump_arrows,
0309                 arrows can be printed or not which represent
0310                 where do the instruction jump into as below.
0311 
0312                 │     ┌──jmp    1333
0313                 │     │  xchg   %ax,%ax
0314                 │1330:│  mov    %r15,%r10
0315                 │1333:└─→cmp    %r15,%r14
0316 
0317                 If jump_arrow is 'false', the arrows isn't printed as below.
0318                 Default is 'false'.
0319 
0320                 │      ↓ jmp    1333
0321                 │        xchg   %ax,%ax
0322                 │1330:   mov    %r15,%r10
0323                 │1333:   cmp    %r15,%r14
0324 
0325                 This option works with tui browser.
0326 
0327         annotate.show_linenr::
0328                 When showing source code if this option is 'true',
0329                 line numbers are printed as below.
0330 
0331                 │1628         if (type & PERF_SAMPLE_IDENTIFIER) {
0332                 │     ↓ jne    508
0333                 │1628                 data->id = *array;
0334                 │1629                 array++;
0335                 │1630         }
0336 
0337                 However if this option is 'false', they aren't printed as below.
0338                 Default is 'false'.
0339 
0340                 │             if (type & PERF_SAMPLE_IDENTIFIER) {
0341                 │     ↓ jne    508
0342                 │                     data->id = *array;
0343                 │                     array++;
0344                 │             }
0345 
0346                 This option works with tui, stdio2 browsers.
0347 
0348         annotate.show_nr_jumps::
0349                 Let's see a part of assembly code.
0350 
0351                 │1382:   movb   $0x1,-0x270(%rbp)
0352 
0353                 If use this, the number of branches jumping to that address can be printed as below.
0354                 Default is 'false'.
0355 
0356                 │1 1382:   movb   $0x1,-0x270(%rbp)
0357 
0358                 This option works with tui, stdio2 browsers.
0359 
0360         annotate.show_total_period::
0361                 To compare two records on an instruction base, with this option
0362                 provided, display total number of samples that belong to a line
0363                 in assembly code. If this option is 'true', total periods are printed
0364                 instead of percent values as below.
0365 
0366                   302 │      mov    %eax,%eax
0367 
0368                 But if this option is 'false', percent values for overhead are printed i.e.
0369                 Default is 'false'.
0370 
0371                 99.93 │      mov    %eax,%eax
0372 
0373                 This option works with tui, stdio2, stdio browsers.
0374 
0375         annotate.show_nr_samples::
0376                 By default perf annotate shows percentage of samples. This option
0377                 can be used to print absolute number of samples. Ex, when set as
0378                 false:
0379 
0380                 Percent│
0381                  74.03 │      mov    %fs:0x28,%rax
0382 
0383                 When set as true:
0384 
0385                 Samples│
0386                      6 │      mov    %fs:0x28,%rax
0387 
0388                 This option works with tui, stdio2, stdio browsers.
0389 
0390         annotate.offset_level::
0391                 Default is '1', meaning just jump targets will have offsets show right beside
0392                 the instruction. When set to '2' 'call' instructions will also have its offsets
0393                 shown, 3 or higher will show offsets for all instructions.
0394 
0395                 This option works with tui, stdio2 browsers.
0396 
0397         annotate.demangle::
0398                 Demangle symbol names to human readable form. Default is 'true'.
0399 
0400         annotate.demangle_kernel::
0401                 Demangle kernel symbol names to human readable form. Default is 'true'.
0402 
0403 hist.*::
0404         hist.percentage::
0405                 This option control the way to calculate overhead of filtered entries -
0406                 that means the value of this option is effective only if there's a
0407                 filter (by comm, dso or symbol name). Suppose a following example:
0408 
0409                        Overhead  Symbols
0410                        ........  .......
0411                         33.33%     foo
0412                         33.33%     bar
0413                         33.33%     baz
0414 
0415                This is an original overhead and we'll filter out the first 'foo'
0416                entry. The value of 'relative' would increase the overhead of 'bar'
0417                and 'baz' to 50.00% for each, while 'absolute' would show their
0418                current overhead (33.33%).
0419 
0420 ui.*::
0421         ui.show-headers::
0422                 This option controls display of column headers (like 'Overhead' and 'Symbol')
0423                 in 'report' and 'top'. If this option is false, they are hidden.
0424                 This option is only applied to TUI.
0425 
0426 call-graph.*::
0427         The following controls the handling of call-graphs (obtained via the
0428         -g/--call-graph options).
0429 
0430         call-graph.record-mode::
0431                 The mode for user space can be 'fp' (frame pointer), 'dwarf'
0432                 and 'lbr'.  The value 'dwarf' is effective only if libunwind
0433                 (or a recent version of libdw) is present on the system;
0434                 the value 'lbr' only works for certain cpus. The method for
0435                 kernel space is controlled not by this option but by the
0436                 kernel config (CONFIG_UNWINDER_*).
0437 
0438         call-graph.dump-size::
0439                 The size of stack to dump in order to do post-unwinding. Default is 8192 (byte).
0440                 When using dwarf into record-mode, the default size will be used if omitted.
0441 
0442         call-graph.print-type::
0443                 The print-types can be graph (graph absolute), fractal (graph relative),
0444                 flat and folded. This option controls a way to show overhead for each callchain
0445                 entry. Suppose a following example.
0446 
0447                 Overhead  Symbols
0448                 ........  .......
0449                   40.00%  foo
0450                           |
0451                           ---foo
0452                              |
0453                              |--50.00%--bar
0454                              |          main
0455                              |
0456                               --50.00%--baz
0457                                         main
0458 
0459                 This output is a 'fractal' format. The 'foo' came from 'bar' and 'baz' exactly
0460                 half and half so 'fractal' shows 50.00% for each
0461                 (meaning that it assumes 100% total overhead of 'foo').
0462 
0463                 The 'graph' uses absolute overhead value of 'foo' as total so each of
0464                 'bar' and 'baz' callchain will have 20.00% of overhead.
0465                 If 'flat' is used, single column and linear exposure of call chains.
0466                 'folded' mean call chains are displayed in a line, separated by semicolons.
0467 
0468         call-graph.order::
0469                 This option controls print order of callchains. The default is
0470                 'callee' which means callee is printed at top and then followed by its
0471                 caller and so on. The 'caller' prints it in reverse order.
0472 
0473                 If this option is not set and report.children or top.children is
0474                 set to true (or the equivalent command line option is given),
0475                 the default value of this option is changed to 'caller' for the
0476                 execution of 'perf report' or 'perf top'. Other commands will
0477                 still default to 'callee'.
0478 
0479         call-graph.sort-key::
0480                 The callchains are merged if they contain same information.
0481                 The sort-key option determines a way to compare the callchains.
0482                 A value of 'sort-key' can be 'function' or 'address'.
0483                 The default is 'function'.
0484 
0485         call-graph.threshold::
0486                 When there're many callchains it'd print tons of lines. So perf omits
0487                 small callchains under a certain overhead (threshold) and this option
0488                 control the threshold. Default is 0.5 (%). The overhead is calculated
0489                 by value depends on call-graph.print-type.
0490 
0491         call-graph.print-limit::
0492                 This is a maximum number of lines of callchain printed for a single
0493                 histogram entry. Default is 0 which means no limitation.
0494 
0495 report.*::
0496         report.sort_order::
0497                 Allows changing the default sort order from "comm,dso,symbol" to
0498                 some other default, for instance "sym,dso" may be more fitting for
0499                 kernel developers.
0500         report.percent-limit::
0501                 This one is mostly the same as call-graph.threshold but works for
0502                 histogram entries. Entries having an overhead lower than this
0503                 percentage will not be printed. Default is '0'. If percent-limit
0504                 is '10', only entries which have more than 10% of overhead will be
0505                 printed.
0506 
0507         report.queue-size::
0508                 This option sets up the maximum allocation size of the internal
0509                 event queue for ordering events. Default is 0, meaning no limit.
0510 
0511         report.children::
0512                 'Children' means functions called from another function.
0513                 If this option is true, 'perf report' cumulates callchains of children
0514                 and show (accumulated) total overhead as well as 'Self' overhead.
0515                 Please refer to the 'perf report' manual. The default is 'true'.
0516 
0517         report.group::
0518                 This option is to show event group information together.
0519                 Example output with this turned on, notice that there is one column
0520                 per event in the group, ref-cycles and cycles:
0521 
0522                 # group: {ref-cycles,cycles}
0523                 # ========
0524                 #
0525                 # Samples: 7K of event 'anon group { ref-cycles, cycles }'
0526                 # Event count (approx.): 6876107743
0527                 #
0528                 #         Overhead  Command      Shared Object               Symbol
0529                 # ................  .......  .................  ...................
0530                 #
0531                     99.84%  99.76%  noploop  noploop            [.] main
0532                      0.07%   0.00%  noploop  ld-2.15.so         [.] strcmp
0533                      0.03%   0.00%  noploop  [kernel.kallsyms]  [k] timerqueue_del
0534 
0535         report.skip-empty::
0536                 This option can change default stat behavior with empty results.
0537                 If it's set true, 'perf report --stat' will not show 0 stats.
0538 
0539 top.*::
0540         top.children::
0541                 Same as 'report.children'. So if it is enabled, the output of 'top'
0542                 command will have 'Children' overhead column as well as 'Self' overhead
0543                 column by default.
0544                 The default is 'true'.
0545 
0546         top.call-graph::
0547                 This is identical to 'call-graph.record-mode', except it is
0548                 applicable only for 'top' subcommand. This option ONLY setup
0549                 the unwind method. To enable 'perf top' to actually use it,
0550                 the command line option -g must be specified.
0551 
0552 man.*::
0553         man.viewer::
0554                 This option can assign a tool to view manual pages when 'help'
0555                 subcommand was invoked. Supported tools are 'man', 'woman'
0556                 (with emacs client) and 'konqueror'. Default is 'man'.
0557 
0558                 New man viewer tool can be also added using 'man.<tool>.cmd'
0559                 or use different path using 'man.<tool>.path' config option.
0560 
0561 pager.*::
0562         pager.<subcommand>::
0563                 When the subcommand is run on stdio, determine whether it uses
0564                 pager or not based on this value. Default is 'unspecified'.
0565 
0566 kmem.*::
0567         kmem.default::
0568                 This option decides which allocator is to be analyzed if neither
0569                 '--slab' nor '--page' option is used. Default is 'slab'.
0570 
0571 record.*::
0572         record.build-id::
0573                 This option can be 'cache', 'no-cache', 'skip' or 'mmap'.
0574                 'cache' is to post-process data and save/update the binaries into
0575                 the build-id cache (in ~/.debug). This is the default.
0576                 But if this option is 'no-cache', it will not update the build-id cache.
0577                 'skip' skips post-processing and does not update the cache.
0578                 'mmap' skips post-processing and reads build-ids from MMAP events.
0579 
0580         record.call-graph::
0581                 This is identical to 'call-graph.record-mode', except it is
0582                 applicable only for 'record' subcommand. This option ONLY setup
0583                 the unwind method. To enable 'perf record' to actually use it,
0584                 the command line option -g must be specified.
0585 
0586         record.aio::
0587                 Use 'n' control blocks in asynchronous (Posix AIO) trace writing
0588                 mode ('n' default: 1, max: 4).
0589 
0590         record.debuginfod::
0591                 Specify debuginfod URL to be used when cacheing perf.data binaries,
0592                 it follows the same syntax as the DEBUGINFOD_URLS variable, like:
0593 
0594                   http://192.168.122.174:8002
0595 
0596                 If the URLs is 'system', the value of DEBUGINFOD_URLS system environment
0597                 variable is used.
0598 
0599 diff.*::
0600         diff.order::
0601                 This option sets the number of columns to sort the result.
0602                 The default is 0, which means sorting by baseline.
0603                 Setting it to 1 will sort the result by delta (or other
0604                 compute method selected).
0605 
0606         diff.compute::
0607                 This options sets the method for computing the diff result.
0608                 Possible values are 'delta', 'delta-abs', 'ratio' and
0609                 'wdiff'.  Default is 'delta'.
0610 
0611 trace.*::
0612         trace.add_events::
0613                 Allows adding a set of events to add to the ones specified
0614                 by the user, or use as a default one if none was specified.
0615                 The initial use case is to add augmented_raw_syscalls.o to
0616                 activate the 'perf trace' logic that looks for syscall
0617                 pointer contents after the normal tracepoint payload.
0618 
0619         trace.args_alignment::
0620                 Number of columns to align the argument list, default is 70,
0621                 use 40 for the strace default, zero to no alignment.
0622 
0623         trace.no_inherit::
0624                 Do not follow children threads.
0625 
0626         trace.show_arg_names::
0627                 Should syscall argument names be printed? If not then trace.show_zeros
0628                 will be set.
0629 
0630         trace.show_duration::
0631                 Show syscall duration.
0632 
0633         trace.show_prefix::
0634                 If set to 'yes' will show common string prefixes in tables. The default
0635                 is to remove the common prefix in things like "MAP_SHARED", showing just "SHARED".
0636 
0637         trace.show_timestamp::
0638                 Show syscall start timestamp.
0639 
0640         trace.show_zeros::
0641                 Do not suppress syscall arguments that are equal to zero.
0642 
0643         trace.tracepoint_beautifiers::
0644                 Use "libtraceevent" to use that library to augment the tracepoint arguments,
0645                 "libbeauty", the default, to use the same argument beautifiers used in the
0646                 strace-like sys_enter+sys_exit lines.
0647 
0648 ftrace.*::
0649         ftrace.tracer::
0650                 Can be used to select the default tracer when neither -G nor
0651                 -F option is not specified. Possible values are 'function' and
0652                 'function_graph'.
0653 
0654 llvm.*::
0655         llvm.clang-path::
0656                 Path to clang. If omit, search it from $PATH.
0657 
0658         llvm.clang-bpf-cmd-template::
0659                 Cmdline template. Below lines show its default value. Environment
0660                 variable is used to pass options.
0661                 "$CLANG_EXEC -D__KERNEL__ -D__NR_CPUS__=$NR_CPUS "\
0662                 "-DLINUX_VERSION_CODE=$LINUX_VERSION_CODE "     \
0663                 "$CLANG_OPTIONS $PERF_BPF_INC_OPTIONS $KERNEL_INC_OPTIONS " \
0664                 "-Wno-unused-value -Wno-pointer-sign "          \
0665                 "-working-directory $WORKING_DIR "              \
0666                 "-c \"$CLANG_SOURCE\" -target bpf $CLANG_EMIT_LLVM -O2 -o - $LLVM_OPTIONS_PIPE"
0667 
0668         llvm.clang-opt::
0669                 Options passed to clang.
0670 
0671         llvm.kbuild-dir::
0672                 kbuild directory. If not set, use /lib/modules/`uname -r`/build.
0673                 If set to "" deliberately, skip kernel header auto-detector.
0674 
0675         llvm.kbuild-opts::
0676                 Options passed to 'make' when detecting kernel header options.
0677 
0678         llvm.dump-obj::
0679                 Enable perf dump BPF object files compiled by LLVM.
0680 
0681         llvm.opts::
0682                 Options passed to llc.
0683 
0684 samples.*::
0685 
0686         samples.context::
0687                 Define how many ns worth of time to show
0688                 around samples in perf report sample context browser.
0689 
0690 scripts.*::
0691 
0692         Any option defines a script that is added to the scripts menu
0693         in the interactive perf browser and whose output is displayed.
0694         The name of the option is the name, the value is a script command line.
0695         The script gets the same options passed as a full perf script,
0696         in particular -i perfdata file, --cpu, --tid
0697 
0698 convert.*::
0699 
0700         convert.queue-size::
0701                 Limit the size of ordered_events queue, so we could control
0702                 allocation size of perf data files without proper finished
0703                 round events.
0704 stat.*::
0705 
0706         stat.big-num::
0707                 (boolean) Change the default for "--big-num". To make
0708                 "--no-big-num" the default, set "stat.big-num=false".
0709 
0710 intel-pt.*::
0711 
0712         intel-pt.cache-divisor::
0713 
0714         intel-pt.mispred-all::
0715                 If set, Intel PT decoder will set the mispred flag on all
0716                 branches.
0717 
0718         intel-pt.max-loops::
0719                 If set and non-zero, the maximum number of unconditional
0720                 branches decoded without consuming any trace packets. If
0721                 the maximum is exceeded there will be a "Never-ending loop"
0722                 error. The default is 100000.
0723 
0724 auxtrace.*::
0725 
0726         auxtrace.dumpdir::
0727                 s390 only. The directory to save the auxiliary trace buffer
0728                 can be changed using this option. Ex, auxtrace.dumpdir=/tmp.
0729                 If the directory does not exist or has the wrong file type,
0730                 the current directory is used.
0731 
0732 daemon.*::
0733 
0734         daemon.base::
0735                 Base path for daemon data. All sessions data are stored under
0736                 this path.
0737 
0738 session-<NAME>.*::
0739 
0740         session-<NAME>.run::
0741 
0742                 Defines new record session for daemon. The value is record's
0743                 command line without the 'record' keyword.
0744 
0745 
0746 SEE ALSO
0747 --------
0748 linkperf:perf[1]