diff options
Diffstat (limited to 'kernel/trace/trace.c')
-rw-r--r-- | kernel/trace/trace.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index ff1c4b20cd0a..51612b4a603f 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
@@ -1681,7 +1681,7 @@ void tracing_reset(struct trace_buffer *buf, int cpu) | |||
1681 | ring_buffer_record_disable(buffer); | 1681 | ring_buffer_record_disable(buffer); |
1682 | 1682 | ||
1683 | /* Make sure all commits have finished */ | 1683 | /* Make sure all commits have finished */ |
1684 | synchronize_sched(); | 1684 | synchronize_rcu(); |
1685 | ring_buffer_reset_cpu(buffer, cpu); | 1685 | ring_buffer_reset_cpu(buffer, cpu); |
1686 | 1686 | ||
1687 | ring_buffer_record_enable(buffer); | 1687 | ring_buffer_record_enable(buffer); |
@@ -1698,7 +1698,7 @@ void tracing_reset_online_cpus(struct trace_buffer *buf) | |||
1698 | ring_buffer_record_disable(buffer); | 1698 | ring_buffer_record_disable(buffer); |
1699 | 1699 | ||
1700 | /* Make sure all commits have finished */ | 1700 | /* Make sure all commits have finished */ |
1701 | synchronize_sched(); | 1701 | synchronize_rcu(); |
1702 | 1702 | ||
1703 | buf->time_start = buffer_ftrace_now(buf, buf->cpu); | 1703 | buf->time_start = buffer_ftrace_now(buf, buf->cpu); |
1704 | 1704 | ||
@@ -2250,7 +2250,7 @@ void trace_buffered_event_disable(void) | |||
2250 | preempt_enable(); | 2250 | preempt_enable(); |
2251 | 2251 | ||
2252 | /* Wait for all current users to finish */ | 2252 | /* Wait for all current users to finish */ |
2253 | synchronize_sched(); | 2253 | synchronize_rcu(); |
2254 | 2254 | ||
2255 | for_each_tracing_cpu(cpu) { | 2255 | for_each_tracing_cpu(cpu) { |
2256 | free_page((unsigned long)per_cpu(trace_buffered_event, cpu)); | 2256 | free_page((unsigned long)per_cpu(trace_buffered_event, cpu)); |
@@ -5398,7 +5398,7 @@ static int tracing_set_tracer(struct trace_array *tr, const char *buf) | |||
5398 | if (tr->current_trace->reset) | 5398 | if (tr->current_trace->reset) |
5399 | tr->current_trace->reset(tr); | 5399 | tr->current_trace->reset(tr); |
5400 | 5400 | ||
5401 | /* Current trace needs to be nop_trace before synchronize_sched */ | 5401 | /* Current trace needs to be nop_trace before synchronize_rcu */ |
5402 | tr->current_trace = &nop_trace; | 5402 | tr->current_trace = &nop_trace; |
5403 | 5403 | ||
5404 | #ifdef CONFIG_TRACER_MAX_TRACE | 5404 | #ifdef CONFIG_TRACER_MAX_TRACE |
@@ -5412,7 +5412,7 @@ static int tracing_set_tracer(struct trace_array *tr, const char *buf) | |||
5412 | * The update_max_tr is called from interrupts disabled | 5412 | * The update_max_tr is called from interrupts disabled |
5413 | * so a synchronized_sched() is sufficient. | 5413 | * so a synchronized_sched() is sufficient. |
5414 | */ | 5414 | */ |
5415 | synchronize_sched(); | 5415 | synchronize_rcu(); |
5416 | free_snapshot(tr); | 5416 | free_snapshot(tr); |
5417 | } | 5417 | } |
5418 | #endif | 5418 | #endif |