diff options
-rw-r--r-- | kernel/trace/trace.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index df2c9f730ac6..e521f1e8f2bb 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
@@ -263,6 +263,9 @@ unsigned long trace_flags = TRACE_ITER_PRINT_PARENT | TRACE_ITER_PRINTK | | |||
263 | TRACE_ITER_ANNOTATE | TRACE_ITER_CONTEXT_INFO | TRACE_ITER_SLEEP_TIME | | 263 | TRACE_ITER_ANNOTATE | TRACE_ITER_CONTEXT_INFO | TRACE_ITER_SLEEP_TIME | |
264 | TRACE_ITER_GRAPH_TIME; | 264 | TRACE_ITER_GRAPH_TIME; |
265 | 265 | ||
266 | static int trace_stop_count; | ||
267 | static DEFINE_SPINLOCK(tracing_start_lock); | ||
268 | |||
266 | /** | 269 | /** |
267 | * trace_wake_up - wake up tasks waiting for trace input | 270 | * trace_wake_up - wake up tasks waiting for trace input |
268 | * | 271 | * |
@@ -442,6 +445,9 @@ update_max_tr(struct trace_array *tr, struct task_struct *tsk, int cpu) | |||
442 | { | 445 | { |
443 | struct ring_buffer *buf = tr->buffer; | 446 | struct ring_buffer *buf = tr->buffer; |
444 | 447 | ||
448 | if (trace_stop_count) | ||
449 | return; | ||
450 | |||
445 | WARN_ON_ONCE(!irqs_disabled()); | 451 | WARN_ON_ONCE(!irqs_disabled()); |
446 | __raw_spin_lock(&ftrace_max_lock); | 452 | __raw_spin_lock(&ftrace_max_lock); |
447 | 453 | ||
@@ -469,6 +475,9 @@ update_max_tr_single(struct trace_array *tr, struct task_struct *tsk, int cpu) | |||
469 | { | 475 | { |
470 | int ret; | 476 | int ret; |
471 | 477 | ||
478 | if (trace_stop_count) | ||
479 | return; | ||
480 | |||
472 | WARN_ON_ONCE(!irqs_disabled()); | 481 | WARN_ON_ONCE(!irqs_disabled()); |
473 | __raw_spin_lock(&ftrace_max_lock); | 482 | __raw_spin_lock(&ftrace_max_lock); |
474 | 483 | ||
@@ -685,9 +694,6 @@ static void trace_init_cmdlines(void) | |||
685 | cmdline_idx = 0; | 694 | cmdline_idx = 0; |
686 | } | 695 | } |
687 | 696 | ||
688 | static int trace_stop_count; | ||
689 | static DEFINE_SPINLOCK(tracing_start_lock); | ||
690 | |||
691 | /** | 697 | /** |
692 | * ftrace_off_permanent - disable all ftrace code permanently | 698 | * ftrace_off_permanent - disable all ftrace code permanently |
693 | * | 699 | * |