tracing: Use flag buffer_disabled for irqsoff tracer
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Mon, 1 Jul 2013 19:58:24 +0000 (15:58 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Tue, 2 Jul 2013 00:34:28 +0000 (20:34 -0400)
commit10246fa35d4ffdfe472185d4cbf9c2dfd9a9f023
tree277cb4041486bfe87730fd767b2a8072330211b9
parentb04d52e368e2cf526abb2bab61f304eaea126af2
tracing: Use flag buffer_disabled for irqsoff tracer

If the ring buffer is disabled and the irqsoff tracer records a trace it
will clear out its buffer and lose the data it had previously recorded.

Currently there's a callback when writing to the tracing_of file, but if
tracing is disabled via the function tracer trigger, it will not inform
the irqsoff tracer to stop recording.

By using the "mirror" flag (buffer_disabled) in the trace_array, that keeps
track of the status of the trace_array's buffer, it gives the irqsoff
tracer a fast way to know if it should record a new trace or not.
The flag may be a little behind the real state of the buffer, but it
should not affect the trace too much. It's more important for the irqsoff
tracer to be fast.

Reported-by: Dave Jones <davej@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace.c
kernel/trace/trace_irqsoff.c