• Steven Rostedt's avatar
    tracing: Add interface to allow multiple trace buffers · 277ba044
    Steven Rostedt authored
    Add the interface ("instances" directory) to add multiple buffers
    to ftrace. To create a new instance, simply do a mkdir in the
    instances directory:
    This will create a directory with the following:
     # cd instances
     # mkdir foo
     # ls foo
    buffer_size_kb        free_buffer  trace_clock    trace_pipe
    buffer_total_size_kb  set_event    trace_marker   tracing_enabled
    events/               trace        trace_options  tracing_on
    Currently only events are able to be set, and there isn't a way
    to delete a buffer when one is created (yet).
    Note, the i_mutex lock is dropped from the parent "instances"
    directory during the mkdir operation. As the "instances" directory
    can not be renamed or deleted (created on boot), I do not see
    any harm in dropping the lock. The creation of the sub directories
    is protected by trace_types_lock mutex, which only lets one
    instance get into the code path at a time. If two tasks try to
    create or delete directories of the same name, only one will occur
    and the other will fail with -EEXIST.
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
trace.h 28.5 KB