Lines Matching +full:ftrace +full:- +full:size

1 .. SPDX-License-Identifier: GPL-2.0
4 Boot-time tracing
12 Boot-time tracing allows users to trace boot-time process including
13 device initialization with full features of ftrace including per-event
14 filter and actions, histograms, kprobe-events and synthetic-events,
23 boot config file [1]_. All options are under "ftrace." or "kernel."
27 .. [1] See :ref:`Documentation/admin-guide/bootconfig.rst <bootconfig>`
28 .. [2] See :ref:`Documentation/admin-guide/kernel-parameters.rst <kernelparameters>`
30 Ftrace Global Options
31 ---------------------
33 Ftrace global options have "kernel." prefix in boot config, which means
37 Output trace-event data on printk buffer too.
40 Dump ftrace on Oops. If MODE = 1 or omitted, dump trace buffer
53 Add fgraph non-tracing function filters.
56 Ftrace Per-instance Options
57 ---------------------------
59 These options can be used for each instance including global ftrace node.
61 ftrace.[instance.INSTANCE.]options = OPT1[, OPT2[...]]
62 Enable given ftrace options.
64 ftrace.[instance.INSTANCE.]tracing_on = 0|1
65 Enable/Disable tracing on this instance when starting boot-time tracing.
68 ftrace.[instance.INSTANCE.]trace_clock = CLOCK
69 Set given CLOCK to ftrace's trace_clock.
71 ftrace.[instance.INSTANCE.]buffer_size = SIZE
72 Configure ftrace buffer size to SIZE. You can use "KB" or "MB"
73 for that SIZE.
75 ftrace.[instance.INSTANCE.]alloc_snapshot
78 ftrace.[instance.INSTANCE.]cpumask = CPUMASK
79 Set CPUMASK as trace cpu-mask.
81 ftrace.[instance.INSTANCE.]events = EVENT[, EVENT2[...]]
84 ftrace.[instance.INSTANCE.]tracer = TRACER
87 ftrace.[instance.INSTANCE.]ftrace.filters
90 ftrace.[instance.INSTANCE.]ftrace.notraces
91 This will take an array of NON-tracing function filter rules.
94 Ftrace Per-Event Options
95 ------------------------
97 These options are setting per-event options.
99 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.enable
102 ftrace.[instance.INSTANCE.]event.GROUP.enable
105 ftrace.[instance.INSTANCE.]event.enable
108 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.filter = FILTER
111 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.actions = ACTION[, ACTION2[...]]
114 ftrace.[instance.INSTANCE.]event.kprobes.EVENT.probes = PROBE[, PROBE2[...]]
120 ftrace.[instance.INSTANCE.]event.synthetic.EVENT.fields = FIELD[, FIELD2[...]]
128 Ftrace Histogram Options
129 ------------------------
131 Since it is too long to write a histogram action as a string for per-event
132 action option, there are tree-style options under per-event 'hist' subkey
136 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.hist.[N.]keys = KEY1[, KEY2[...]]
141 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.hist.[N.]values = VAL1[, VAL2[...]]
144 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.hist.[N.]sort = SORT1[, SORT2[...]]
147 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.hist.[N.]size = NR_ENTRIES
148 Set histogram size (number of entries).
150 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.hist.[N.]name = NAME
153 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.hist.[N.]var.VARIABLE = EXPR
156 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.hist.[N.]<pause|continue|clear>
159 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.hist.[N.]onmatch.[M.]event = GROUP.EVENT
164 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.hist.[N.]onmatch.[M.]trace = EVENT[, ARG1[...]]
169 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.hist.[N.]onmax.[M.]var = VAR
172 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.hist.[N.]onchange.[M.]var = VAR
175 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.hist.[N.]<onmax|onchange>.[M.]save = ARG1[, ARG2[...]]
180 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.hist.[N.]<onmax|onchange>.[M.]snapshot
185 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.hist.filter = FILTER_EXPR
188 Note that this 'hist' option can conflict with the per-event 'actions'
195 All boot-time tracing options starting with ``ftrace`` will be enabled at the
199 boot-time tracing.
202 processing (for example,. ``kernel.ftrace=function`` and ``kernel.trace_event``
213 ftrace.event {
237 var.lat = common_timestamp.usecs - $ts0
245 Also, boot-time tracing supports "instance" node, which allows us to run
250 ftrace.instance {
253 ftrace.filters = "user_*"
257 ftrace.filters = "kernel_*"
264 With the trigger action and kprobes, you can trace function-graph while
268 ftrace {
284 This boot-time tracing also supports ftrace kernel parameters via boot
288 …trace_options=sym-addr trace_event=initcall:* tp_printk trace_buf_size=1M ftrace=function ftrace_f…
293 trace_options = sym-addr
297 ftrace = function
301 Note that parameters start with "kernel" prefix instead of "ftrace".