Commit b3806b43 authored by Steven Rostedt's avatar Steven Rostedt Committed by Thomas Gleixner

ftrace: user run time file reading

This patch creates a file called trace_pipe in the tracing
debug directory. This file is a consumer of the trace buffers.
This means that reads of this file consumes the entries from
the trace buffers so that they will not be read a second time,
as contrast to the static buffers latency_trace and trace.

Reading from the trace_pipe will remove the entries from trace
and latency_trace too.

The advantage that trace_pipe has is that it can record live
traces. It will block when there is nothing in the buffer,
and read the entries as they are entered.  An EOF happens when
tracing is disabled (tracing_enabled = 0).
Signed-off-by: default avatarSteven Rostedt <srostedt@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 214023c3
This diff is collapsed.
...@@ -55,6 +55,7 @@ struct trace_entry { ...@@ -55,6 +55,7 @@ struct trace_entry {
struct trace_array_cpu { struct trace_array_cpu {
struct list_head trace_pages; struct list_head trace_pages;
atomic_t disabled; atomic_t disabled;
spinlock_t lock;
cycle_t time_offset; cycle_t time_offset;
/* these fields get copied into max-trace: */ /* these fields get copied into max-trace: */
...@@ -88,6 +89,7 @@ struct trace_array { ...@@ -88,6 +89,7 @@ struct trace_array {
long ctrl; long ctrl;
int cpu; int cpu;
cycle_t time_start; cycle_t time_start;
struct task_struct *waiter;
struct trace_array_cpu *data[NR_CPUS]; struct trace_array_cpu *data[NR_CPUS];
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment