diff options
author | Steven Rostedt (Red Hat) <rostedt@goodmis.org> | 2014-07-12 07:23:53 +0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2014-07-17 17:44:37 +0400 |
commit | 1026ff9b8e6cbb112fd708b2e62f1812ce9a4e01 (patch) | |
tree | 10b87601e9060c2cdb662c0783bbbca00c4a8e23 | |
parent | 646d7043adf3d92de5d3db1244a82a12628303de (diff) | |
download | linux-1026ff9b8e6cbb112fd708b2e62f1812ce9a4e01.tar.xz |
ftrace/x86: Have function graph tracer use its own trampoline
The function graph trampoline is called from the function trampoline
and both do a save and restore of registers. The save of registers
done by the function trampoline when only the function graph tracer
is running is a waste of CPU cycles.
As the function graph tracer trampoline in x86 is dependent from
the function trampoline, we can call it directly when a function
is only being traced by the function graph trampoline.
Acked-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | arch/x86/include/asm/ftrace.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/include/asm/ftrace.h b/arch/x86/include/asm/ftrace.h index 0525a8bdf65d..e1f7fecaa7d6 100644 --- a/arch/x86/include/asm/ftrace.h +++ b/arch/x86/include/asm/ftrace.h @@ -68,6 +68,8 @@ struct dyn_arch_ftrace { int ftrace_int3_handler(struct pt_regs *regs); +#define FTRACE_GRAPH_TRAMP_ADDR FTRACE_GRAPH_ADDR + #endif /* CONFIG_DYNAMIC_FTRACE */ #endif /* __ASSEMBLY__ */ #endif /* CONFIG_FUNCTION_TRACER */ |