summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-11-12 19:22:54 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-11-12 19:22:54 -0500
commit0e976064256523ca604bd82048ae0e3402ce2467 (patch)
tree48c20d0d75ca50efe9b0726a00b02ecee53b1871 /kernel
parent5e2078b2899da31ff4c9854e932b186685d5bea0 (diff)
parente428abbbf616cd8fdd1162e4a624ad1d47b47544 (diff)
Merge tag 'trace-v4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull trace cleanups from Steven Rostedt: "This contains three more clean up patches. One patch is needed to make tracing work without debugfs now that tracing uses its own tracefs. The second is removing an unused variable. The third is fixing a warning about unused variables when MAX_TRACER is not configured. Note, this warning shows up in gcc 6.0, but does not show up in gcc 4.9, as it seems that gcc does not complain about constants not being used" * tag 'trace-v4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing: #ifdef out uses of max trace when CONFIG_TRACER_MAX_TRACE is not set tracing: Remove unused ftrace_cpu_disabled per cpu variable tracing: Make tracing work when debugfs is not configured in
Diffstat (limited to 'kernel')
-rw-r--r--kernel/trace/trace.c16
-rw-r--r--kernel/trace/trace.h1
-rw-r--r--kernel/trace/trace_functions_graph.c6
3 files changed, 9 insertions, 14 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 2198a630ef58..87fb9801bd9e 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -100,8 +100,6 @@ static DEFINE_PER_CPU(bool, trace_cmdline_save);
100 */ 100 */
101static int tracing_disabled = 1; 101static int tracing_disabled = 1;
102 102
103DEFINE_PER_CPU(int, ftrace_cpu_disabled);
104
105cpumask_var_t __read_mostly tracing_buffer_mask; 103cpumask_var_t __read_mostly tracing_buffer_mask;
106 104
107/* 105/*
@@ -1775,10 +1773,6 @@ trace_function(struct trace_array *tr,
1775 struct ring_buffer_event *event; 1773 struct ring_buffer_event *event;
1776 struct ftrace_entry *entry; 1774 struct ftrace_entry *entry;
1777 1775
1778 /* If we are reading the ring buffer, don't trace */
1779 if (unlikely(__this_cpu_read(ftrace_cpu_disabled)))
1780 return;
1781
1782 event = trace_buffer_lock_reserve(buffer, TRACE_FN, sizeof(*entry), 1776 event = trace_buffer_lock_reserve(buffer, TRACE_FN, sizeof(*entry),
1783 flags, pc); 1777 flags, pc);
1784 if (!event) 1778 if (!event)
@@ -4554,6 +4548,8 @@ out:
4554 return ret; 4548 return ret;
4555} 4549}
4556 4550
4551#ifdef CONFIG_TRACER_MAX_TRACE
4552
4557static ssize_t 4553static ssize_t
4558tracing_max_lat_read(struct file *filp, char __user *ubuf, 4554tracing_max_lat_read(struct file *filp, char __user *ubuf,
4559 size_t cnt, loff_t *ppos) 4555 size_t cnt, loff_t *ppos)
@@ -4568,6 +4564,8 @@ tracing_max_lat_write(struct file *filp, const char __user *ubuf,
4568 return tracing_nsecs_write(filp->private_data, ubuf, cnt, ppos); 4564 return tracing_nsecs_write(filp->private_data, ubuf, cnt, ppos);
4569} 4565}
4570 4566
4567#endif
4568
4571static int tracing_open_pipe(struct inode *inode, struct file *filp) 4569static int tracing_open_pipe(struct inode *inode, struct file *filp)
4572{ 4570{
4573 struct trace_array *tr = inode->i_private; 4571 struct trace_array *tr = inode->i_private;
@@ -5469,12 +5467,14 @@ static const struct file_operations tracing_thresh_fops = {
5469 .llseek = generic_file_llseek, 5467 .llseek = generic_file_llseek,
5470}; 5468};
5471 5469
5470#ifdef CONFIG_TRACER_MAX_TRACE
5472static const struct file_operations tracing_max_lat_fops = { 5471static const struct file_operations tracing_max_lat_fops = {
5473 .open = tracing_open_generic, 5472 .open = tracing_open_generic,
5474 .read = tracing_max_lat_read, 5473 .read = tracing_max_lat_read,
5475 .write = tracing_max_lat_write, 5474 .write = tracing_max_lat_write,
5476 .llseek = generic_file_llseek, 5475 .llseek = generic_file_llseek,
5477}; 5476};
5477#endif
5478 5478
5479static const struct file_operations set_tracer_fops = { 5479static const struct file_operations set_tracer_fops = {
5480 .open = tracing_open_generic, 5480 .open = tracing_open_generic,
@@ -6847,7 +6847,9 @@ struct dentry *tracing_init_dentry(void)
6847 if (tr->dir) 6847 if (tr->dir)
6848 return NULL; 6848 return NULL;
6849 6849
6850 if (WARN_ON(!debugfs_initialized())) 6850 if (WARN_ON(!tracefs_initialized()) ||
6851 (IS_ENABLED(CONFIG_DEBUG_FS) &&
6852 WARN_ON(!debugfs_initialized())))
6851 return ERR_PTR(-ENODEV); 6853 return ERR_PTR(-ENODEV);
6852 6854
6853 /* 6855 /*
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
index dd7620802e72..919d9d07686f 100644
--- a/kernel/trace/trace.h
+++ b/kernel/trace/trace.h
@@ -667,7 +667,6 @@ extern int DYN_FTRACE_TEST_NAME2(void);
667 667
668extern bool ring_buffer_expanded; 668extern bool ring_buffer_expanded;
669extern bool tracing_selftest_disabled; 669extern bool tracing_selftest_disabled;
670DECLARE_PER_CPU(int, ftrace_cpu_disabled);
671 670
672#ifdef CONFIG_FTRACE_STARTUP_TEST 671#ifdef CONFIG_FTRACE_STARTUP_TEST
673extern int trace_selftest_startup_function(struct tracer *trace, 672extern int trace_selftest_startup_function(struct tracer *trace,
diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c
index 92382af7a213..a663cbb84107 100644
--- a/kernel/trace/trace_functions_graph.c
+++ b/kernel/trace/trace_functions_graph.c
@@ -288,9 +288,6 @@ int __trace_graph_entry(struct trace_array *tr,
288 struct ring_buffer *buffer = tr->trace_buffer.buffer; 288 struct ring_buffer *buffer = tr->trace_buffer.buffer;
289 struct ftrace_graph_ent_entry *entry; 289 struct ftrace_graph_ent_entry *entry;
290 290
291 if (unlikely(__this_cpu_read(ftrace_cpu_disabled)))
292 return 0;
293
294 event = trace_buffer_lock_reserve(buffer, TRACE_GRAPH_ENT, 291 event = trace_buffer_lock_reserve(buffer, TRACE_GRAPH_ENT,
295 sizeof(*entry), flags, pc); 292 sizeof(*entry), flags, pc);
296 if (!event) 293 if (!event)
@@ -403,9 +400,6 @@ void __trace_graph_return(struct trace_array *tr,
403 struct ring_buffer *buffer = tr->trace_buffer.buffer; 400 struct ring_buffer *buffer = tr->trace_buffer.buffer;
404 struct ftrace_graph_ret_entry *entry; 401 struct ftrace_graph_ret_entry *entry;
405 402
406 if (unlikely(__this_cpu_read(ftrace_cpu_disabled)))
407 return;
408
409 event = trace_buffer_lock_reserve(buffer, TRACE_GRAPH_RET, 403 event = trace_buffer_lock_reserve(buffer, TRACE_GRAPH_RET,
410 sizeof(*entry), flags, pc); 404 sizeof(*entry), flags, pc);
411 if (!event) 405 if (!event)