Re: [PATCH] ftrace: use helper function clear_ftrace_function

From: Yisheng Xie
Date: Tue Jan 30 2018 - 06:39:39 EST


Hi Steve,

On 2018/1/30 18:13, Steven Rostedt wrote:
> On Tue, 30 Jan 2018 08:46:01 +0800
> Yisheng Xie <xieyisheng1@xxxxxxxxxx> wrote:
>
>> We have helper function clear_ftrace_function(), use it instead of hard
>> code. And this should not have any functional change.
>>
>> Signed-off-by: Yisheng Xie <xieyisheng1@xxxxxxxxxx>
>> ---
>> kernel/trace/ftrace.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
>> index 554b517..ba78e03 100644
>> --- a/kernel/trace/ftrace.c
>> +++ b/kernel/trace/ftrace.c
>> @@ -6779,7 +6779,7 @@ int unregister_ftrace_function(struct ftrace_ops *ops)
>>
>> } else {
>> /* stopping ftrace calls (just send to ftrace_stub) */
>> - ftrace_trace_function = ftrace_stub;
>> + clear_ftrace_function();
>>
>> ftrace_shutdown_sysctl();
>> }
>
> Honestly, I rather nuke that function and clear_ftrace_function_probe()

Do you means clear_ftrace_function_probes() ? I do not find clear_ftrace_function_probe
in mainline or trace tree:
https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git/

clear_ftrace_function_probes() is used in trace.c instead of ftrace.c, and meanwhile it
has a local variable:

struct ftrace_func_probe *probe, *n;

which defined in ftrace.c. So I am a litter puzzle about how to nuke it without moving
struct ftrace_func_probe 's definition to first class.

I'm not sure whether I am missing anything.

> along with it. They are not used outside of ftrace.c and they don't
> actually help.

For clear_ftrace_function it really can be nuked, for it's only used in ftrace.c.

Thanks
Yisheng

>
> -- Steve
>
>