ring-buffer: Do not disable recording when there is an iterator
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 17 Mar 2020 21:32:30 +0000 (17:32 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Fri, 27 Mar 2020 20:38:58 +0000 (16:38 -0400)
Now that the iterator can handle a concurrent writer, do not disable writing
to the ring buffer when there is an iterator present.

Link: http://lkml.kernel.org/r/20200317213416.759770696@goodmis.org
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/ring_buffer.c

index e2de5b448c914b0e6cc4bc1cdeb1a4898ea80f59..af2f10d9f3f1c8f68a61a4a385aede5d9434eee7 100644 (file)
@@ -4312,7 +4312,6 @@ ring_buffer_read_prepare(struct trace_buffer *buffer, int cpu, gfp_t flags)
        iter->cpu_buffer = cpu_buffer;
 
        atomic_inc(&cpu_buffer->resize_disabled);
-       atomic_inc(&cpu_buffer->record_disabled);
 
        return iter;
 }
@@ -4385,7 +4384,6 @@ ring_buffer_read_finish(struct ring_buffer_iter *iter)
        rb_check_pages(cpu_buffer);
        raw_spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);
 
-       atomic_dec(&cpu_buffer->record_disabled);
        atomic_dec(&cpu_buffer->resize_disabled);
        kfree(iter->event);
        kfree(iter);