From: Lai Jiangshan on
Frederic Weisbecker wrote:
> After we disable the function profiler, the function hashlist
> stays in memory. This is wasteful as nobody needs it anymore,
> until the next use if any.
>
> Release it when we disable the function profiler instead of
> resetting it in the next use.
>
> Signed-off-by: Frederic Weisbecker <fweisbec(a)gmail.com>
> Cc: Steven Rostedt <rostedt(a)goodmis.org>
> Cc: Li Zefan <lizf(a)cn.fujitsu.com>
> Cc: Lai Jiangshan <laijs(a)cn.fujitsu.com>
> ---
> kernel/trace/ftrace.c | 1 +
> kernel/trace/functions_hlist.c | 61 +++++++++++++++++-----------------------
> kernel/trace/functions_hlist.h | 1 +
> 3 files changed, 28 insertions(+), 35 deletions(-)
>
> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index dfd8f7c..0ded01c 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -509,6 +509,7 @@ ftrace_profile_write(struct file *filp, const char __user *ubuf,

> /*
> * unregister_ftrace_profiler calls stop_machine
> * so this acts like an synchronize_sched.
> */
> unregister_ftrace_profiler();

unluckily, when !CONFIG_DYNAMIC_FTRACE, it does not call stop_machine()
nor synchronize_sched(), bug here?

> + function_hlist_release();


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