summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-02-22 23:47:23 (GMT)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-02-22 23:47:23 (GMT)
commit35f88e6b06d024ed25e8ed5420c5c8844b54e1a1 (patch)
tree6c96ec07cc6dc47399d82f82d4cb830c2a1cb2af /include
parent3b7faeb49e7c35db857b595c389436994ab1275e (diff)
parent712406a6bf59ebf4a00358bb59a4a2a1b2953d90 (diff)
downloadlinux-fsl-qoriq-35f88e6b06d024ed25e8ed5420c5c8844b54e1a1.tar.xz
Merge commit 'ftrace/function-graph' into next
Diffstat (limited to 'include')
-rw-r--r--include/linux/ftrace.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
index 677432b..a7f8134 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.