diff options
| author | Julien Thierry <[email protected]> | 2017-11-03 11:44:16 +0000 |
|---|---|---|
| committer | Will Deacon <[email protected]> | 2017-11-03 12:05:23 +0000 |
| commit | d125bffcefb290743e4eac536886dba689edf1eb (patch) | |
| tree | 05355bfb4302164d0bf7ad4b18e864925f3b7ae8 | |
| parent | a92d4d1454ab8b43b80b89fa31fcedb8821f8164 (diff) | |
arm64: Fix static use of function graph
Function graph does not work currently when CONFIG_DYNAMIC_TRACE is not
set. This is because ftrace_function_trace is not always set to ftrace_stub
when function_graph is in use.
Do not skip checking of graph tracer functions when ftrace_function_trace
is set.
Signed-off-by: Julien Thierry <[email protected]>
Cc: Catalin Marinas <[email protected]>
Cc: Will Deacon <[email protected]>
Cc: Mark Rutland <[email protected]>
Acked-by: Steven Rostedt (VMware) <[email protected]>
Reviewed-by: AKASHI Takahiro <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
| -rw-r--r-- | arch/arm64/kernel/entry-ftrace.S | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/arch/arm64/kernel/entry-ftrace.S b/arch/arm64/kernel/entry-ftrace.S index e1be42e11ff5..1175f5827ae1 100644 --- a/arch/arm64/kernel/entry-ftrace.S +++ b/arch/arm64/kernel/entry-ftrace.S @@ -108,13 +108,8 @@ ENTRY(_mcount) mcount_get_lr x1 // function's lr (= parent's pc) blr x2 // (*ftrace_trace_function)(pc, lr); -#ifndef CONFIG_FUNCTION_GRAPH_TRACER -skip_ftrace_call: // return; - mcount_exit // } -#else - mcount_exit // return; - // } -skip_ftrace_call: +skip_ftrace_call: // } +#ifdef CONFIG_FUNCTION_GRAPH_TRACER ldr_l x2, ftrace_graph_return cmp x0, x2 // if ((ftrace_graph_return b.ne ftrace_graph_caller // != ftrace_stub) @@ -123,9 +118,8 @@ skip_ftrace_call: adr_l x0, ftrace_graph_entry_stub // != ftrace_graph_entry_stub)) cmp x0, x2 b.ne ftrace_graph_caller // ftrace_graph_caller(); - - mcount_exit #endif /* CONFIG_FUNCTION_GRAPH_TRACER */ + mcount_exit ENDPROC(_mcount) #else /* CONFIG_DYNAMIC_FTRACE */ |