Re: [PATCH] tracing: Kernel access to Ftrace instances

From: Masami Hiramatsu
Date: Wed May 15 2019 - 21:50:47 EST


HI Divya,

On Wed, 20 Mar 2019 11:28:51 -0700
Divya Indi <divya.indi@xxxxxxxxxx> wrote:

> Ftrace provides the feature “instances” that provides the capability to
> create multiple Ftrace ring buffers. However, currently these buffers
> are created/accessed via userspace only. The kernel APIs providing these
> features are not exported, hence cannot be used by other kernel
> components.
>
> This patch aims to extend this infrastructure to provide the
> flexibility to create/log/remove/ enable-disable existing trace events
> to these buffers from within the kernel.
>
> Signed-off-by: Divya Indi <divya.indi@xxxxxxxxxx>
> Reviewed-by: Joe Jin <joe.jin@xxxxxxxxxx>

Would you tested these APIs with your module? Since,

[...]
> diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
> index 5b3b0c3..81c038e 100644
> --- a/kernel/trace/trace_events.c
> +++ b/kernel/trace/trace_events.c
> @@ -832,6 +832,7 @@ static int ftrace_set_clr_event(struct trace_array *tr, char *buf, int set)
>
> return ret;
> }
> +EXPORT_SYMBOL_GPL(ftrace_set_clr_event);

I found this exports a static function to module. Did it work?

Thank you,

--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>