tracing: add latency output format option
authorSteven Rostedt <srostedt@redhat.com>
Thu, 5 Mar 2009 01:34:24 +0000 (20:34 -0500)
committerSteven Rostedt <srostedt@redhat.com>
Thu, 5 Mar 2009 01:34:24 +0000 (20:34 -0500)
With the removal of the latency_trace file, we lost the ability
to see some of the finer details in a trace. Like the state of
interrupts enabled, the preempt count, need resched, and if we
are in an interrupt handler, softirq handler or not.

This patch simply creates an option to bring back the old format.
This also removes the warning about an unused variable that held
the latency_trace file operations.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
kernel/trace/trace.c
kernel/trace/trace.h

index 2e53e6f094403801b37fb543ec9055c03b77f339..55fcbb56795085b0dd02c1d57578eaa629bcd4e6 100644 (file)
@@ -299,6 +299,7 @@ static const char *trace_options[] = {
        "sym-userobj",
        "printk-msg-only",
        "context-info",
+       "latency-format",
        NULL
 };
 
@@ -1829,26 +1830,12 @@ static int tracing_open(struct inode *inode, struct file *file)
        iter = __tracing_open(inode, file);
        if (IS_ERR(iter))
                ret = PTR_ERR(iter);
-
-       return ret;
-}
-
-static int tracing_lt_open(struct inode *inode, struct file *file)
-{
-       struct trace_iterator *iter;
-       int ret = 0;
-
-       iter = __tracing_open(inode, file);
-
-       if (IS_ERR(iter))
-               ret = PTR_ERR(iter);
-       else
+       else if (trace_flags & TRACE_ITER_LATENCY_FMT)
                iter->iter_flags |= TRACE_FILE_LAT_FMT;
 
        return ret;
 }
 
-
 static void *
 t_next(struct seq_file *m, void *v, loff_t *pos)
 {
@@ -1927,13 +1914,6 @@ static struct file_operations tracing_fops = {
        .release        = tracing_release,
 };
 
-static struct file_operations tracing_lt_fops = {
-       .open           = tracing_lt_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = tracing_release,
-};
-
 static struct file_operations show_traces_fops = {
        .open           = show_traces_open,
        .read           = seq_read,
index 561bb5c5d9881850fd39c5a0c839c0c9a0e87801..12cd119cca3284de67ef87916b56fe17d5adf287 100644 (file)
@@ -651,7 +651,8 @@ enum trace_iterator_flags {
        TRACE_ITER_USERSTACKTRACE       = 0x4000,
        TRACE_ITER_SYM_USEROBJ          = 0x8000,
        TRACE_ITER_PRINTK_MSGONLY       = 0x10000,
-       TRACE_ITER_CONTEXT_INFO         = 0x20000 /* Print pid/cpu/time */
+       TRACE_ITER_CONTEXT_INFO         = 0x20000, /* Print pid/cpu/time */
+       TRACE_ITER_LATENCY_FMT          = 0x40000,
 };
 
 /*