Messages in this thread | | | Date | Tue, 24 May 2022 12:07:13 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH v3] tracing: Use trace_create_file() to simplify creation of tracefs entries |
| |
On Fri, 14 Jan 2022 21:10:52 +0800 Yuntao Wang <ytcoode@gmail.com> wrote:
> Creating tracefs entries with tracefs_create_file() followed by pr_warn() > is tedious and repetitive, we can use trace_create_file() to simplify > this process and make the code more readable.
Sorry I missed this patch (I was in the process of changing jobs when it was sent out, and I had COVID :-p ). I'll add it to my queue.
Masami, this touches trace_kprobes.c, care to ACK that part?
Thanks,
-- Steve
> > Signed-off-by: Yuntao Wang <ytcoode@gmail.com> > --- > Changes since v1: > - Remove format change updates > > Changes since v2: > - Remove unused variables > > kernel/trace/ftrace.c | 9 +++------ > kernel/trace/trace_dynevent.c | 9 ++------- > kernel/trace/trace_events.c | 29 +++++++++------------------ > kernel/trace/trace_kprobe.c | 15 ++++---------- > kernel/trace/trace_recursion_record.c | 7 ++----- > 5 files changed, 21 insertions(+), 48 deletions(-) > > diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c > index 403e485bf091..6d9bb73d19d3 100644 > --- a/kernel/trace/ftrace.c > +++ b/kernel/trace/ftrace.c > @@ -952,7 +952,6 @@ static struct tracer_stat function_stats __initdata = { > static __init void ftrace_profile_tracefs(struct dentry *d_tracer) > { > struct ftrace_profile_stat *stat; > - struct dentry *entry; > char *name; > int ret; > int cpu; > @@ -983,11 +982,9 @@ static __init void ftrace_profile_tracefs(struct dentry *d_tracer) > } > } > > - entry = tracefs_create_file("function_profile_enabled", > - TRACE_MODE_WRITE, d_tracer, NULL, > - &ftrace_profile_fops); > - if (!entry) > - pr_warn("Could not create tracefs 'function_profile_enabled' entry\n"); > + trace_create_file("function_profile_enabled", > + TRACE_MODE_WRITE, d_tracer, NULL, > + &ftrace_profile_fops); > } > > #else /* CONFIG_FUNCTION_PROFILER */ > diff --git a/kernel/trace/trace_dynevent.c b/kernel/trace/trace_dynevent.c > index e34e8182ee4b..076b447a1b88 100644 > --- a/kernel/trace/trace_dynevent.c > +++ b/kernel/trace/trace_dynevent.c > @@ -255,19 +255,14 @@ static const struct file_operations dynamic_events_ops = { > /* Make a tracefs interface for controlling dynamic events */ > static __init int init_dynamic_event(void) > { > - struct dentry *entry; > int ret; > > ret = tracing_init_dentry(); > if (ret) > return 0; > > - entry = tracefs_create_file("dynamic_events", TRACE_MODE_WRITE, NULL, > - NULL, &dynamic_events_ops); > - > - /* Event list interface */ > - if (!entry) > - pr_warn("Could not create tracefs 'dynamic_events' entry\n"); > + trace_create_file("dynamic_events", TRACE_MODE_WRITE, NULL, > + NULL, &dynamic_events_ops); > > return 0; > } > diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c > index 3147614c1812..718518b3c491 100644 > --- a/kernel/trace/trace_events.c > +++ b/kernel/trace/trace_events.c > @@ -3446,12 +3446,10 @@ create_event_toplevel_files(struct dentry *parent, struct trace_array *tr) > struct dentry *d_events; > struct dentry *entry; > > - entry = tracefs_create_file("set_event", TRACE_MODE_WRITE, parent, > - tr, &ftrace_set_event_fops); > - if (!entry) { > - pr_warn("Could not create tracefs 'set_event' entry\n"); > + entry = trace_create_file("set_event", TRACE_MODE_WRITE, parent, > + tr, &ftrace_set_event_fops); > + if (!entry) > return -ENOMEM; > - } > > d_events = tracefs_create_dir("events", parent); > if (!d_events) { > @@ -3466,16 +3464,12 @@ create_event_toplevel_files(struct dentry *parent, struct trace_array *tr) > > /* There are not as crucial, just warn if they are not created */ > > - entry = tracefs_create_file("set_event_pid", TRACE_MODE_WRITE, parent, > - tr, &ftrace_set_event_pid_fops); > - if (!entry) > - pr_warn("Could not create tracefs 'set_event_pid' entry\n"); > + trace_create_file("set_event_pid", TRACE_MODE_WRITE, parent, > + tr, &ftrace_set_event_pid_fops); > > - entry = tracefs_create_file("set_event_notrace_pid", > - TRACE_MODE_WRITE, parent, tr, > - &ftrace_set_event_notrace_pid_fops); > - if (!entry) > - pr_warn("Could not create tracefs 'set_event_notrace_pid' entry\n"); > + trace_create_file("set_event_notrace_pid", > + TRACE_MODE_WRITE, parent, tr, > + &ftrace_set_event_notrace_pid_fops); > > /* ring buffer internal formats */ > trace_create_file("header_page", TRACE_MODE_READ, d_events, > @@ -3690,17 +3684,14 @@ static __init int event_trace_init_fields(void) > __init int event_trace_init(void) > { > struct trace_array *tr; > - struct dentry *entry; > int ret; > > tr = top_trace_array(); > if (!tr) > return -ENODEV; > > - entry = tracefs_create_file("available_events", TRACE_MODE_READ, > - NULL, tr, &ftrace_avail_fops); > - if (!entry) > - pr_warn("Could not create tracefs 'available_events' entry\n"); > + trace_create_file("available_events", TRACE_MODE_READ, > + NULL, tr, &ftrace_avail_fops); > > ret = early_event_add_tracer(NULL, tr); > if (ret) > diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c > index 3d85323278ed..5c35c2311690 100644 > --- a/kernel/trace/trace_kprobe.c > +++ b/kernel/trace/trace_kprobe.c > @@ -1906,25 +1906,18 @@ core_initcall(init_kprobe_trace_early); > static __init int init_kprobe_trace(void) > { > int ret; > - struct dentry *entry; > > ret = tracing_init_dentry(); > if (ret) > return 0; > > - entry = tracefs_create_file("kprobe_events", TRACE_MODE_WRITE, > - NULL, NULL, &kprobe_events_ops); > - > /* Event list interface */ > - if (!entry) > - pr_warn("Could not create tracefs 'kprobe_events' entry\n"); > + trace_create_file("kprobe_events", TRACE_MODE_WRITE, > + NULL, NULL, &kprobe_events_ops); > > /* Profile interface */ > - entry = tracefs_create_file("kprobe_profile", TRACE_MODE_READ, > - NULL, NULL, &kprobe_profile_ops); > - > - if (!entry) > - pr_warn("Could not create tracefs 'kprobe_profile' entry\n"); > + trace_create_file("kprobe_profile", TRACE_MODE_READ, > + NULL, NULL, &kprobe_profile_ops); > > setup_boot_kprobe_events(); > > diff --git a/kernel/trace/trace_recursion_record.c b/kernel/trace/trace_recursion_record.c > index 4d4b78c8ca25..a520b11afb0d 100644 > --- a/kernel/trace/trace_recursion_record.c > +++ b/kernel/trace/trace_recursion_record.c > @@ -224,12 +224,9 @@ static const struct file_operations recursed_functions_fops = { > > __init static int create_recursed_functions(void) > { > - struct dentry *dentry; > > - dentry = trace_create_file("recursed_functions", TRACE_MODE_WRITE, > - NULL, NULL, &recursed_functions_fops); > - if (!dentry) > - pr_warn("WARNING: Failed to create recursed_functions\n"); > + trace_create_file("recursed_functions", TRACE_MODE_WRITE, > + NULL, NULL, &recursed_functions_fops); > return 0; > } >
| |