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. |
