ring-buffer: add ring_buffer_discard_commit
authorSteven Rostedt <srostedt@redhat.com>
Thu, 2 Apr 2009 04:09:41 +0000 (00:09 -0400)
committerIngo Molnar <mingo@elte.hu>
Mon, 13 Apr 2009 22:00:53 +0000 (00:00 +0200)
commitfa1b47dd85453ec7d4bcfe4aa4a2d172ba452fc3
tree3e5f14cccd9e4ec772310c1b2792b6f4b84bf7cb
parente45f2e2bd298e1ff687448e5fd15a3588b5807ec
ring-buffer: add ring_buffer_discard_commit

The ring_buffer_discard_commit is similar to ring_buffer_event_discard
but it can only be done on an event that has yet to be commited.
Unpredictable results can happen otherwise.

The main difference between ring_buffer_discard_commit and
ring_buffer_event_discard is that ring_buffer_discard_commit will try
to free the data in the ring buffer if nothing has addded data
after the reserved event. If something did, then it acts almost the
same as ring_buffer_event_discard followed by a
ring_buffer_unlock_commit.

Note, either ring_buffer_commit_discard and ring_buffer_unlock_commit
can be called on an event, not both.

This commit also exports both discard functions to be usable by
GPL modules.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/ring_buffer.h
kernel/trace/ring_buffer.c