Browse Source

ring-buffer: fix check of try_to_discard result

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>
Steven Rostedt 16 years ago
parent
commit
0f2541d299
1 changed files with 1 additions and 1 deletions
  1. 1 1
      kernel/trace/ring_buffer.c

+ 1 - 1
kernel/trace/ring_buffer.c

@@ -1785,7 +1785,7 @@ void ring_buffer_discard_commit(struct ring_buffer *buffer,
 	 */
 	 */
 	RB_WARN_ON(buffer, !local_read(&cpu_buffer->committing));
 	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;
 		goto out;
 
 
 	/*
 	/*