Re: [PATCH 1/1] ftrace: fix function graph tracer

From: Steven Rostedt
Date: Sat Mar 03 2012 - 00:07:11 EST


On Fri, 2012-02-17 at 21:39 +0530, Rajesh Bhagat wrote:
> >From 31f8971a19b45aae8227c6d143a6ecde26fa68b2 Mon Sep 17 00:00:00 2001
> From: Rajesh Bhagat <rajesh.lnx@xxxxxxxxx>
> Date: Fri, 17 Feb 2012 13:59:15 +0530
> Subject: [PATCH 1/1] ftrace: fix function graph tracer
>
> when function tracer is set - function_graph tracer is not working
> Problem occurs when CONFIG_DYNAMIC_FTRACE is not set
>
> Output before patch
> /debug/tracing # echo function > current_tracer
> /debug/tracing # echo function_graph > current_tracer
> /debug/tracing # cat trace

I can't reproduce this. What arch did you see this on? I'm trying it on
PPC and x86, and it works fine.

Now I'm not saying I wont take this patch, because it is a correctness
issue. But I'm thinking this will go into the 3.4 queue.

-- Steve


>
> Output after patch
> /debug/tracing # echo function > current_tracer
> /debug/tracing # echo function_graph > current_tracer
> /debug/tracing # cat trace
> 0) ! 253.375 us | } /* irq_enter */
> 0) | generic_handle_irq() {
> 0) | handle_fasteoi_irq() {
> 0) 9.208 us | _raw_spin_lock();
> 0) | handle_irq_event() {
> 0) | handle_irq_event_percpu() {
>
> Signed-off-by: Rajesh Bhagat <rajesh.lnx@xxxxxxxxx>
> ---
> kernel/trace/ftrace.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index 683d559..dc2de98 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -219,7 +219,8 @@ static void update_ftrace_function(void)
> #else
> __ftrace_trace_function = func;
> #endif
> - ftrace_trace_function = ftrace_test_stop_func;
> + ftrace_trace_function =
> + (func == ftrace_stub) ? func : ftrace_test_stop_func;
> #endif
> }


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/