]> git.baikalelectronics.ru Git - kernel.git/commit
tracing: pass around ring buffer instead of tracer
authorSteven Rostedt <srostedt@redhat.com>
Wed, 2 Sep 2009 18:17:06 +0000 (14:17 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 4 Sep 2009 22:59:39 +0000 (18:59 -0400)
commit787f7e94b0f808c64eafa38d2a8efc237d321535
tree65c05f9e1573e9958e52bb72655e00c8592aacd2
parent1ddcdf0c7aa73760bdafe71823355038d932998f
tracing: pass around ring buffer instead of tracer

The latency tracers (irqsoff and wakeup) can swap trace buffers
on the fly. If an event is happening and has reserved data on one of
the buffers, and the latency tracer swaps the global buffer with the
max buffer, the result is that the event may commit the data to the
wrong buffer.

This patch changes the API to the trace recording to be recieve the
buffer that was used to reserve a commit. Then this buffer can be passed
in to the commit.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
12 files changed:
include/linux/ftrace_event.h
include/trace/ftrace.h
kernel/trace/blktrace.c
kernel/trace/trace.c
kernel/trace/trace.h
kernel/trace/trace_boot.c
kernel/trace/trace_events.c
kernel/trace/trace_functions_graph.c
kernel/trace/trace_mmiotrace.c
kernel/trace/trace_power.c
kernel/trace/trace_sched_switch.c
kernel/trace/trace_syscalls.c