]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
ring-buffer: fix check of try_to_discard result
authorSteven Rostedt <srostedt@redhat.com>
Wed, 5 Aug 2009 16:02:48 +0000 (12:02 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Thu, 6 Aug 2009 00:19:59 +0000 (20:19 -0400)
The function ring_buffer_discard_commit inversed the code path
of the result of try_to_discard. It should skip incrementing the
entry counter if try_to_discard succeeded. But instead, it increments
the entry conder if it succeeded to discard, and does not increment
it if it fails.

The result of this bug is that filtering will make the stat counters
incorrect.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/ring_buffer.c

index bf27bb7a63e2d94c7c7537f5e847223d2a49f17d..2fd1752f0c85c7f7c422526cf47eef5e4d29da1b 100644 (file)
@@ -1785,7 +1785,7 @@ void ring_buffer_discard_commit(struct ring_buffer *buffer,
         */
        RB_WARN_ON(buffer, !local_read(&cpu_buffer->committing));
 
-       if (!rb_try_to_discard(cpu_buffer, event))
+       if (rb_try_to_discard(cpu_buffer, event))
                goto out;
 
        /*