Re: [PATCH 4/4] tracing/function-return-tracer: Support for dynamic ftrace on function return tracer

From: Frédéric Weisbecker
Date: Mon Nov 24 2008 - 17:21:20 EST


2008/11/24 Steven Rostedt <rostedt@xxxxxxxxxxx>:
>
> On Sun, 16 Nov 2008, Frederic Weisbecker wrote:
>>
>> static void ftrace_replace_code(int enable)
>> @@ -1405,10 +1417,17 @@ int register_ftrace_function(struct ftrace_ops *ops)
>> return -1;
>>
>> mutex_lock(&ftrace_sysctl_lock);
>> +
>> + if (ftrace_tracing_type == FTRACE_TYPE_RETURN) {
>> + ret = -EBUSY;
>> + goto out;
>> + }
>> +
>
> Why do we need to disable all new tracing functions when we do return
> tracing??
>
> -- Steve
>
>> ret = __register_ftrace_function(ops);
>> ftrace_startup();
>> - mutex_unlock(&ftrace_sysctl_lock);
>>
>> +out:
>> + mutex_unlock(&ftrace_sysctl_lock);
>> return ret;
>> }
>>
>

You will see the same test when trying to register a return handler,
it verifies that normal ftrace is not running.
Otherwise it will fail.
I made ftrace and ftrace-return not abled to work simultaneously for the moment.
That made the integration of ftrace-return into dynamic tracing much
more simpler...

But if someone needs to enable both tracing at the same time, I can change it...
--
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/