diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-02-23 10:47:23 +1100 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-02-23 10:47:23 +1100 |
commit | 35f88e6b06d024ed25e8ed5420c5c8844b54e1a1 (patch) | |
tree | 6c96ec07cc6dc47399d82f82d4cb830c2a1cb2af /include | |
parent | 3b7faeb49e7c35db857b595c389436994ab1275e (diff) | |
parent | 712406a6bf59ebf4a00358bb59a4a2a1b2953d90 (diff) |
Merge commit 'ftrace/function-graph' into next
Diffstat (limited to 'include')
-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 677432b9cb7..a7f8134c594 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h @@ -380,6 +380,30 @@ struct ftrace_graph_ret { #ifdef CONFIG_FUNCTION_GRAPH_TRACER /* + * Stack of return addresses for functions + * of a thread. + * Used in struct thread_info + */ +struct ftrace_ret_stack { + unsigned long ret; + unsigned long func; + unsigned long long calltime; +}; + +/* + * Primary handler of a function return. + * It relays on ftrace_return_to_handler. + * Defined in entry_32/64.S + */ +extern void return_to_handler(void); + +extern int +ftrace_push_return_trace(unsigned long ret, unsigned long long time, + unsigned long func, int *depth); +extern void +ftrace_pop_return_trace(struct ftrace_graph_ret *trace, unsigned long *ret); + +/* * Sometimes we don't want to trace a function with the function * graph tracer but we want them to keep traced by the usual function * tracer if the function graph tracer is not configured. |