Lines Matching +full:ftrace +full:- +full:size
1 .. SPDX-License-Identifier: GPL-2.0
4 Fprobe - Function entry/exit probe
12 Fprobe is a function entry/exit probe based on the function-graph tracing
13 feature in ftrace.
23 The fprobe is a wrapper of ftrace (+ kretprobe-like return callback) to
30 .. code-block:: c
41 The register_fprobe() enables a fprobe by function-name filters.
46 The register_fprobe_ips() enables a fprobe by ftrace-location addresses.
49 .. code-block:: c
58 .. code-block:: c
80 Same as ftrace, the registered callbacks will start being called some time
82 :file:`Documentation/trace/ftrace.rst`.
93 .. code-block:: c
110 This is the ftrace address of the traced function (both entry and exit).
112 the address where the ftrace is instrumented.
129 Entry data size and exit handlers on the same function
132 Since the entry data is passed via per-task stack and it has limited size,
133 the entry data size per probe is limited to `15 * sizeof(long)`. You also need
135 limit becomes smaller. The entry data size is aligned to `sizeof(long)` and
143 Since the recursion safeness of the fprobe (and ftrace) is a bit different
147 Kprobes has per-cpu 'current_kprobe' variable which protects the kprobe
162 .. code-block:: c
177 - fprobe fails to take ftrace_recursion lock. This usually means that a function
178 which is traced by other ftrace users is called from the entry_handler.
180 - fprobe fails to setup the function exit because of failing to allocate the
181 data buffer from the per-task shadow stack.
189 counter may not work correctly, because ftrace skips the fprobe function which
196 .. kernel-doc:: include/linux/fprobe.h
197 .. kernel-doc:: kernel/trace/fprobe.c