diff options
Diffstat (limited to 'include/linux/ftrace.h')
-rw-r--r-- | include/linux/ftrace.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index 677432b9cb7e..a7f8134c594e 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h | |||
@@ -380,6 +380,30 @@ struct ftrace_graph_ret { | |||
380 | #ifdef CONFIG_FUNCTION_GRAPH_TRACER | 380 | #ifdef CONFIG_FUNCTION_GRAPH_TRACER |
381 | 381 | ||
382 | /* | 382 | /* |
383 | * Stack of return addresses for functions | ||
384 | * of a thread. | ||
385 | * Used in struct thread_info | ||
386 | */ | ||
387 | struct ftrace_ret_stack { | ||
388 | unsigned long ret; | ||
389 | unsigned long func; | ||
390 | unsigned long long calltime; | ||
391 | }; | ||
392 | |||
393 | /* | ||
394 | * Primary handler of a function return. | ||
395 | * It relays on ftrace_return_to_handler. | ||
396 | * Defined in entry_32/64.S | ||
397 | */ | ||
398 | extern void return_to_handler(void); | ||
399 | |||
400 | extern int | ||
401 | ftrace_push_return_trace(unsigned long ret, unsigned long long time, | ||
402 | unsigned long func, int *depth); | ||
403 | extern void | ||
404 | ftrace_pop_return_trace(struct ftrace_graph_ret *trace, unsigned long *ret); | ||
405 | |||
406 | /* | ||
383 | * Sometimes we don't want to trace a function with the function | 407 | * Sometimes we don't want to trace a function with the function |
384 | * graph tracer but we want them to keep traced by the usual function | 408 | * graph tracer but we want them to keep traced by the usual function |
385 | * tracer if the function graph tracer is not configured. | 409 | * tracer if the function graph tracer is not configured. |