diff options
| author | Vaibhav Nagarnaik <vnagarnaik@google.com> | 2012-05-03 21:59:52 -0400 |
|---|---|---|
| committer | Steven Rostedt <rostedt@goodmis.org> | 2012-05-16 19:50:38 -0400 |
| commit | 71babb2705e2203a64c27ede13ae3508a0d2c16c (patch) | |
| tree | 8274eb4b1b17872e38715e0f619669fcc2b06c8d | |
| parent | 0a3d7ce7e6caa8c39cb5184bd9047a01a40abc2a (diff) | |
tracing: change CPU ring buffer state from tracing_cpumask
According to Documentation/trace/ftrace.txt:
tracing_cpumask:
This is a mask that lets the user only trace
on specified CPUS. The format is a hex string
representing the CPUS.
The tracing_cpumask currently doesn't affect the tracing state of
per-CPU ring buffers.
This patch enables/disables CPU recording as its corresponding bit in
tracing_cpumask is set/unset.
Link: http://lkml.kernel.org/r/1336096792-25373-3-git-send-email-vnagarnaik@google.com
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Laurent Chavey <chavey@google.com>
Cc: Justin Teravest <teravest@google.com>
Cc: David Sharp <dhsharp@google.com>
Signed-off-by: Vaibhav Nagarnaik <vnagarnaik@google.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
| -rw-r--r-- | kernel/trace/trace.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 0ed4df0c6a39..08a08bab57a3 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
| @@ -2669,10 +2669,12 @@ tracing_cpumask_write(struct file *filp, const char __user *ubuf, | |||
| 2669 | if (cpumask_test_cpu(cpu, tracing_cpumask) && | 2669 | if (cpumask_test_cpu(cpu, tracing_cpumask) && |
| 2670 | !cpumask_test_cpu(cpu, tracing_cpumask_new)) { | 2670 | !cpumask_test_cpu(cpu, tracing_cpumask_new)) { |
| 2671 | atomic_inc(&global_trace.data[cpu]->disabled); | 2671 | atomic_inc(&global_trace.data[cpu]->disabled); |
| 2672 | ring_buffer_record_disable_cpu(global_trace.buffer, cpu); | ||
| 2672 | } | 2673 | } |
| 2673 | if (!cpumask_test_cpu(cpu, tracing_cpumask) && | 2674 | if (!cpumask_test_cpu(cpu, tracing_cpumask) && |
| 2674 | cpumask_test_cpu(cpu, tracing_cpumask_new)) { | 2675 | cpumask_test_cpu(cpu, tracing_cpumask_new)) { |
| 2675 | atomic_dec(&global_trace.data[cpu]->disabled); | 2676 | atomic_dec(&global_trace.data[cpu]->disabled); |
| 2677 | ring_buffer_record_enable_cpu(global_trace.buffer, cpu); | ||
| 2676 | } | 2678 | } |
| 2677 | } | 2679 | } |
| 2678 | arch_spin_unlock(&ftrace_max_lock); | 2680 | arch_spin_unlock(&ftrace_max_lock); |
