Lines Matching +full:ftrace +full:- +full:size
12 ------------
20 ftrace.txt file.
23 their kernel should make it all the way to dynamic ftrace support.
27 -------------
29 Ftrace relies on these features being implemented:
30 - STACKTRACE_SUPPORT - implement save_stack_trace()
31 - TRACE_IRQFLAGS_SUPPORT - implement include/asm/irqflags.h
35 --------------------
43 $ echo 'main(){}' | gcc -x c -S -o - - -pg | grep mcount
56 be (semi-)relevant.
61 the mcount function normally calls __mcount_internal -- the first argument is
63 size of the mcount call that is embedded in the function).
68 - "frompc" - the address bar() will use to return to foo()
69 - "selfpc" - the address bar() (with mcount() size adjustment)
103 unsigned long selfpc = <return address> - MCOUNT_INSN_SIZE;
117 --------------------------
120 mcount function to check ftrace graph function pointers, as well as implement
126 function, call the arch-specific function ftrace_graph_caller which in turn
127 calls the arch-specific function prepare_ftrace_return. Neither of these
129 consistent across the architecture ports -- easier to compare & contrast
136 temporarily to have it point to the arch-specific function return_to_handler.
168 unsigned long selfpc = <return address> - MCOUNT_INSN_SIZE;
169 /* passing frame pointer up is optional -- see below */
178 more information). The only architecture-specific piece in it is the setup of
205 ---------------------------
221 ------------------------
225 - Support HAVE_ARCH_TRACEHOOK (see arch/Kconfig).
226 - Have a NR_syscalls variable in <asm/unistd.h> that provides the number
228 - Support the TIF_SYSCALL_TRACEPOINT thread flags.
229 - Put the trace_sys_enter() and trace_sys_exit() tracepoints calls from ptrace
231 - If the system call table on this arch is more complicated than a simple array
234 - If the symbol names of the system calls do not match the function names on
235 this arch, define ARCH_HAS_SYSCALL_MATCH_SYM_NAME in asm/ftrace.h and
238 - Tag this arch as HAVE_SYSCALL_TRACEPOINTS.
242 -------------------------
244 See scripts/recordmcount.pl for more info. Just fill in the arch-specific
246 This option doesn't make much sense without also implementing dynamic ftrace.
250 -------------------
256 - asm/ftrace.h:
257 - MCOUNT_ADDR
258 - ftrace_call_adjust()
259 - struct dyn_arch_ftrace{}
260 - asm code:
261 - mcount() (new stub)
262 - ftrace_caller()
263 - ftrace_call()
264 - ftrace_stub()
265 - C code:
266 - ftrace_dyn_arch_init()
267 - ftrace_make_nop()
268 - ftrace_make_call()
269 - ftrace_update_ftrace_func()
271 First you will need to fill out some arch details in your asm/ftrace.h.
300 did already create a mcount() function earlier, dynamic ftrace only wants a
321 unsigned long selfpc = <return address> - MCOUNT_INSN_SIZE;
356 linux/ftrace.h for the functions::
361 The rec->ip value is the address of the mcount call site that was collected
375 ------------------------------------------------
377 The function grapher needs a few tweaks in order to work with dynamic ftrace.
380 - update:
381 - ftrace_caller()
382 - ftrace_graph_call()
383 - ftrace_graph_caller()
384 - implement:
385 - ftrace_enable_ftrace_graph_caller()
386 - ftrace_disable_ftrace_graph_caller()
392 - add a nop stub after the ftrace_call location named ftrace_graph_call;
394 - update ftrace_graph_caller() to work with being called by the new
396 - ftrace_enable_ftrace_graph_caller() will runtime patch the
398 - ftrace_disable_ftrace_graph_caller() will runtime patch the