tracing, ring-buffer: add paranoid checks for loops
authorSteven Rostedt <rostedt@goodmis.org>
Fri, 31 Oct 2008 13:58:35 +0000 (09:58 -0400)
committerIngo Molnar <mingo@elte.hu>
Mon, 3 Nov 2008 10:10:04 +0000 (11:10 +0100)
commit818e3dd30a4ff34fff6d90e87ae59c73f6a53691
treeab9db9dec53a0c0383476c8dfca17d75c83317f6
parentb3aa557722b3d5858f14ca559e03461c24125aaf
tracing, ring-buffer: add paranoid checks for loops

While writing a new tracer, I had a bug where I caused the ring-buffer
to recurse in a bad way. The bug was with the tracer I was writing
and not the ring-buffer itself. But it took a long time to find the
problem.

This patch adds paranoid checks into the ring-buffer infrastructure
that will catch bugs of this nature.

Note: I put the bug back in the tracer and this patch showed the error
      nicely and prevented the lockup.

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