Kconfig (60675d4ca1ef0857e44eba5849b74a3a998d0c0f) Kconfig (533c20b062d7c25cbcbadb31e3ecb95a08ddb877)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Architectures that offer an FUNCTION_TRACER implementation should
4# select HAVE_FUNCTION_TRACER:
5#
6
7config USER_STACKTRACE_SUPPORT
8 bool

--- 17 unchanged lines hidden (view full) ---

26 help
27 See Documentation/trace/ftrace-design.rst
28
29config HAVE_FUNCTION_GRAPH_TRACER
30 bool
31 help
32 See Documentation/trace/ftrace-design.rst
33
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Architectures that offer an FUNCTION_TRACER implementation should
4# select HAVE_FUNCTION_TRACER:
5#
6
7config USER_STACKTRACE_SUPPORT
8 bool

--- 17 unchanged lines hidden (view full) ---

26 help
27 See Documentation/trace/ftrace-design.rst
28
29config HAVE_FUNCTION_GRAPH_TRACER
30 bool
31 help
32 See Documentation/trace/ftrace-design.rst
33
34config HAVE_FUNCTION_GRAPH_RETVAL
34config HAVE_FUNCTION_GRAPH_FREGS
35 bool
36
35 bool
36
37config HAVE_FTRACE_GRAPH_FUNC
38 bool
39 help
40 True if ftrace_graph_func() is defined.
41
37config HAVE_DYNAMIC_FTRACE
38 bool
39 help
40 See Documentation/trace/ftrace-design.rst
41
42config HAVE_DYNAMIC_FTRACE_WITH_REGS
43 bool
44

--- 7 unchanged lines hidden (view full) ---

52 bool
53 help
54 If this is set, then arguments and stack can be found from
55 the ftrace_regs passed into the function callback regs parameter
56 by default, even without setting the REGS flag in the ftrace_ops.
57 This allows for use of ftrace_regs_get_argument() and
58 ftrace_regs_get_stack_pointer().
59
42config HAVE_DYNAMIC_FTRACE
43 bool
44 help
45 See Documentation/trace/ftrace-design.rst
46
47config HAVE_DYNAMIC_FTRACE_WITH_REGS
48 bool
49

--- 7 unchanged lines hidden (view full) ---

57 bool
58 help
59 If this is set, then arguments and stack can be found from
60 the ftrace_regs passed into the function callback regs parameter
61 by default, even without setting the REGS flag in the ftrace_ops.
62 This allows for use of ftrace_regs_get_argument() and
63 ftrace_regs_get_stack_pointer().
64
65config HAVE_FTRACE_REGS_HAVING_PT_REGS
66 bool
67 help
68 If this is set, ftrace_regs has pt_regs, thus it can convert to
69 pt_regs without allocating memory.
70
60config HAVE_DYNAMIC_FTRACE_NO_PATCHABLE
61 bool
62 help
63 If the architecture generates __patchable_function_entries sections
64 but does not want them included in the ftrace locations.
65
66config HAVE_FTRACE_MCOUNT_RECORD
67 bool

--- 159 unchanged lines hidden (view full) ---

227 and its entry.
228 Its first purpose is to trace the duration of functions and
229 draw a call graph for each thread with some information like
230 the return value. This is done by setting the current return
231 address on the current task structure into a stack of calls.
232
233config FUNCTION_GRAPH_RETVAL
234 bool "Kernel Function Graph Return Value"
71config HAVE_DYNAMIC_FTRACE_NO_PATCHABLE
72 bool
73 help
74 If the architecture generates __patchable_function_entries sections
75 but does not want them included in the ftrace locations.
76
77config HAVE_FTRACE_MCOUNT_RECORD
78 bool

--- 159 unchanged lines hidden (view full) ---

238 and its entry.
239 Its first purpose is to trace the duration of functions and
240 draw a call graph for each thread with some information like
241 the return value. This is done by setting the current return
242 address on the current task structure into a stack of calls.
243
244config FUNCTION_GRAPH_RETVAL
245 bool "Kernel Function Graph Return Value"
235 depends on HAVE_FUNCTION_GRAPH_RETVAL
246 depends on HAVE_FUNCTION_GRAPH_FREGS
236 depends on FUNCTION_GRAPH_TRACER
237 default n
238 help
239 Support recording and printing the function return value when
240 using function graph tracer. It can be helpful to locate functions
241 that return errors. This feature is off by default, and you can
242 enable it via the trace option funcgraph-retval.
243 See Documentation/trace/ftrace.rst
244
245config FUNCTION_GRAPH_RETADDR
246 bool "Kernel Function Graph Return Address"
247 depends on FUNCTION_GRAPH_TRACER
248 default n
249 help
250 Support recording and printing the function return address when
251 using function graph tracer. It can be helpful to locate code line that
252 the function is called. This feature is off by default, and you can
253 enable it via the trace option funcgraph-retaddr.
254
247 depends on FUNCTION_GRAPH_TRACER
248 default n
249 help
250 Support recording and printing the function return value when
251 using function graph tracer. It can be helpful to locate functions
252 that return errors. This feature is off by default, and you can
253 enable it via the trace option funcgraph-retval.
254 See Documentation/trace/ftrace.rst
255
256config FUNCTION_GRAPH_RETADDR
257 bool "Kernel Function Graph Return Address"
258 depends on FUNCTION_GRAPH_TRACER
259 default n
260 help
261 Support recording and printing the function return address when
262 using function graph tracer. It can be helpful to locate code line that
263 the function is called. This feature is off by default, and you can
264 enable it via the trace option funcgraph-retaddr.
265
266config FUNCTION_TRACE_ARGS
267 bool
268 depends on HAVE_FUNCTION_ARG_ACCESS_API
269 depends on DEBUG_INFO_BTF
270 default y
271
255config DYNAMIC_FTRACE
256 bool "enable/disable function tracing dynamically"
257 depends on FUNCTION_TRACER
258 depends on HAVE_DYNAMIC_FTRACE
259 default y
260 help
261 This option will modify all the calls to function tracing
262 dynamically (will patch them out of the binary image and

--- 28 unchanged lines hidden (view full) ---

291
292config DYNAMIC_FTRACE_WITH_ARGS
293 def_bool y
294 depends on DYNAMIC_FTRACE
295 depends on HAVE_DYNAMIC_FTRACE_WITH_ARGS
296
297config FPROBE
298 bool "Kernel Function Probe (fprobe)"
272config DYNAMIC_FTRACE
273 bool "enable/disable function tracing dynamically"
274 depends on FUNCTION_TRACER
275 depends on HAVE_DYNAMIC_FTRACE
276 default y
277 help
278 This option will modify all the calls to function tracing
279 dynamically (will patch them out of the binary image and

--- 28 unchanged lines hidden (view full) ---

308
309config DYNAMIC_FTRACE_WITH_ARGS
310 def_bool y
311 depends on DYNAMIC_FTRACE
312 depends on HAVE_DYNAMIC_FTRACE_WITH_ARGS
313
314config FPROBE
315 bool "Kernel Function Probe (fprobe)"
299 depends on FUNCTION_TRACER
300 depends on DYNAMIC_FTRACE_WITH_REGS
301 depends on HAVE_RETHOOK
302 select RETHOOK
316 depends on HAVE_FUNCTION_GRAPH_FREGS && HAVE_FTRACE_GRAPH_FUNC
317 depends on DYNAMIC_FTRACE_WITH_ARGS
318 select FUNCTION_GRAPH_TRACER
303 default n
304 help
305 This option enables kernel function probe (fprobe) based on ftrace.
306 The fprobe is similar to kprobes, but probes only for kernel function
307 entries and exits. This also can probe multiple functions by one
308 fprobe.
309
310 If unsure, say N.

--- 887 unchanged lines hidden ---
319 default n
320 help
321 This option enables kernel function probe (fprobe) based on ftrace.
322 The fprobe is similar to kprobes, but probes only for kernel function
323 entries and exits. This also can probe multiple functions by one
324 fprobe.
325
326 If unsure, say N.

--- 887 unchanged lines hidden ---