tracing: A couple of cleanups for 4.4
Steven Rostedt
maintainercover tracing: A couple of cleanups for 4.4
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
for-next
Head SHA1: 03e88ae6b369da2a26a6e09ad165e57d210789cd
Dmitry Safonov (1):
tracing: Remove unused ftrace_cpu_disabled per cpu variable
Jiaxing Wang (1):
tracing: Make tracing work when debugfs is not configured in
----
kernel/trace/trace.c | 10 +++------- kernel/trace/trace.h | 1 - kernel/trace/trace_functions_graph.c | 6 ------ 3 files changed, 3 insertions(+), 14 deletions(-)
Steven Rostedt
maintainerPATCH 1/2 tracing: Make tracing work when debugfs is not configured in
From: Jiaxing Wang <[email protected]>
Currently tracing_init_dentry() returns -ENODEV when debugfs is not configured in, which causes tracefs not populated with tracing files and directories, so we will get an empty directory even after we manually mount tracefs.
We can make tracing_init_dentry() return NULL if debugfs is not configured in and can manually mount tracefs. But return -ENODEV if debugfs is configured in but not initialized or failed to create automount point as that would break backward compatibility with older tools.
--- kernel/trace/trace.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
kernel/trace/trace.c +3 -1
@@ -6847,7 +6847,9 @@ struct dentry *tracing_init_dentry(void)if (tr->dir)return NULL ; -if (WARN_ON (!debugfs_initialized ())) +if (WARN_ON (!tracefs_initialized ()) || + (IS_ENABLED (CONFIG_DEBUG_FS ) && +WARN_ON (!debugfs_initialized ())))return ERR_PTR (-ENODEV );/*
Signature · 1 line
2.6.1
Steven Rostedt
maintainerPATCH 2/2 tracing: Remove unused ftrace_cpu_disabled per cpu variable
In reply to Steven RostedtFrom: Dmitry Safonov <[email protected]>
Since the ring buffer is lockless, there is no need to disable ftrace on CPU. And no one doing so: after commit 68179686ac67cb ("tracing: Remove ftrace_disable/enable_cpu()") ftrace_cpu_disabled stays the same after initialization, nothing changes it.ftrace_cpu_disabled shouldn't be used by any external module since it disables only function and graph_function tracers but not any other tracer.
--- kernel/trace/trace.c | 6 ------ kernel/trace/trace.h | 1 - kernel/trace/trace_functions_graph.c | 6 ------ 3 files changed, 13 deletions(-)
kernel/trace/trace.c +0 -6
@@ -100,8 +100,6 @@ static DEFINE_PER_CPU(bool, trace_cmdline_save);*/ static int tracing_disabled =1 ; -DEFINE_PER_CPU (int, ftrace_cpu_disabled); -cpumask_var_t __read_mostly tracing_buffer_mask;/*
@@ -1775,10 +1773,6 @@ trace_function(struct trace_array *tr,struct ring_buffer_event *event;struct ftrace_entry *entry; -/* If we are reading the ring buffer, don't trace */ -if (unlikely (__this_cpu_read (ftrace_cpu_disabled))) -return ; - event =trace_buffer_lock_reserve (buffer,TRACE_FN ,sizeof (*entry), flags, pc);if (!event)
kernel/trace/trace.h +0 -1
@@ -667,7 +667,6 @@ extern int DYN_FTRACE_TEST_NAME2(void);extern bool ring_buffer_expanded;extern bool tracing_selftest_disabled; -DECLARE_PER_CPU (int, ftrace_cpu_disabled);#ifdef CONFIG_FTRACE_STARTUP_TEST extern int trace_selftest_startup_function(struct tracer *trace,
kernel/trace/trace_functions_graph.c +0 -6
@@ -288,9 +288,6 @@ int __trace_graph_entry(struct trace_array *tr,struct ring_buffer *buffer = tr->trace_buffer.buffer;struct ftrace_graph_ent_entry *entry; -if (unlikely (__this_cpu_read (ftrace_cpu_disabled))) -return 0 ; - event =trace_buffer_lock_reserve (buffer,TRACE_GRAPH_ENT ,sizeof (*entry), flags, pc);if (!event)
@@ -403,9 +400,6 @@ void __trace_graph_return(struct trace_array *tr,struct ring_buffer *buffer = tr->trace_buffer.buffer;struct ftrace_graph_ret_entry *entry; -if (unlikely (__this_cpu_read (ftrace_cpu_disabled))) -return ; - event =trace_buffer_lock_reserve (buffer,TRACE_GRAPH_RET ,sizeof (*entry), flags, pc);if (!event)
Signature · 1 line
2.6.1