lkml.org 
[lkml]   [2011]   [Nov]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 3/9] ftrace: Fix shutdown to disable calls properly
From
Date
On Sun, 2011-11-27 at 19:04 +0100, Jiri Olsa wrote:
> Each ftrace_startup call increases the call record's flag,
> so we need allways to decrease it when shutting down the
> ftrace_ops.

No, that's not how this works. I probably should comment this code
better, because it caused me to reread it too ;)

>
> Signed-off-by: Jiri Olsa <jolsa@redhat.com>
> ---
> kernel/trace/ftrace.c | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index c6d0293..0ca0c0d 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -1744,8 +1744,7 @@ static void ftrace_shutdown(struct ftrace_ops *ops, int command)
> if (ops != &global_ops || !global_start_up)
> ops->flags &= ~FTRACE_OPS_FL_ENABLED;
>
> - if (!ftrace_start_up)
> - command |= FTRACE_DISABLE_CALLS;
> + command |= FTRACE_DISABLE_CALLS;

FTRACE_DISABLE_CALLS will disable *all* functions for all tracers. If
you are tracing with ftrace and perf, and one calls this with
FTRACE_DISABLE_CALLS then both will no long be tracing anything.

When you call unregister_ftrace_function() it will disable the functions
that you have enabled by the ops.

Nacked-by: Steven Rostedt <rostedt@goodmis.org.

-- Steve


>
> if (saved_ftrace_func != ftrace_trace_function) {
> saved_ftrace_func = ftrace_trace_function;




\
 
 \ /
  Last update: 2011-11-28 20:21    [W:1.042 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site