lkml.org 
[lkml]   [2011]   [Jun]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 04/16 v2] tracing: Add disable_on_free option
    From: Steven Rostedt <srostedt@redhat.com>

    Add a trace option to disable tracing on free. When this option is
    set, a write into the free_buffer file will not only shrink the
    ring buffer down to zero, but it will also disable tracing.

    Cc: Vaibhav Nagarnaik <vnagarnaik@google.com>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    ---
    kernel/trace/trace.c | 6 ++++--
    kernel/trace/trace.h | 1 +
    2 files changed, 5 insertions(+), 2 deletions(-)

    diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
    index 9c557ae..42fdf3a 100644
    --- a/kernel/trace/trace.c
    +++ b/kernel/trace/trace.c
    @@ -425,6 +425,7 @@ static const char *trace_options[] = {
    "graph-time",
    "record-cmd",
    "overwrite",
    + "disable_on_free",
    NULL
    };

    @@ -3518,8 +3519,9 @@ tracing_free_buffer_write(struct file *filp, const char __user *ubuf,
    static int
    tracing_free_buffer_release(struct inode *inode, struct file *filp)
    {
    - /* disable tracing */
    - tracing_off();
    + /* disable tracing ? */
    + if (trace_flags & TRACE_ITER_STOP_ON_FREE)
    + tracing_off();
    /* resize the ring buffer to 0 */
    tracing_resize_ring_buffer(0);

    diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
    index 229f859..742f545 100644
    --- a/kernel/trace/trace.h
    +++ b/kernel/trace/trace.h
    @@ -609,6 +609,7 @@ enum trace_iterator_flags {
    TRACE_ITER_GRAPH_TIME = 0x80000,
    TRACE_ITER_RECORD_CMD = 0x100000,
    TRACE_ITER_OVERWRITE = 0x200000,
    + TRACE_ITER_STOP_ON_FREE = 0x400000,
    };

    /*
    --
    1.7.4.4



    \
     
     \ /
      Last update: 2011-06-15 15:57    [W:0.042 / U:31.848 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site