tracing/events/ring-buffer: expose format of ring buffer headers to users
authorSteven Rostedt <srostedt@redhat.com>
Wed, 15 Apr 2009 20:53:47 +0000 (16:53 -0400)
committerIngo Molnar <mingo@elte.hu>
Fri, 17 Apr 2009 15:03:28 +0000 (17:03 +0200)
commitd1b182a8d49ed6416325b4e0a1cb0f17cd4e702a
treef482bfba39828503f32ed994829d2d3cd6b81bfe
parente6187007d6c365b551c69ea3df46f06fd1c8bd19
tracing/events/ring-buffer: expose format of ring buffer headers to users

Currently, every thing needed to read the binary output from the
ring buffers is available, with the exception of the way the ring
buffers handles itself internally.

This patch creates two special files in the debugfs/tracing/events
directory:

 # cat /debug/tracing/events/header_page
        field: u64 timestamp;   offset:0;       size:8;
        field: local_t commit;  offset:8;       size:8;
        field: char data;       offset:16;      size:4080;

 # cat /debug/tracing/events/header_event
        type        :    2 bits
        len         :    3 bits
        time_delta  :   27 bits
        array       :   32 bits

        padding     : type == 0
        time_extend : type == 1
        data        : type == 3

This is to allow a userspace app to see if the ring buffer format changes
or not.

[ Impact: allow userspace apps to know of ringbuffer format changes ]

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/ring_buffer.h
kernel/trace/ring_buffer.c
kernel/trace/trace_events.c