Add timestamps to trace entries. Signed-off-by: Steven Rostedt --- lib/tracing/tracer.c | 16 ++++++++++++++++ lib/tracing/tracer.h | 1 + 2 files changed, 17 insertions(+) Index: linux-compile.git/lib/tracing/tracer.c =================================================================== --- linux-compile.git.orig/lib/tracing/tracer.c 2008-01-14 13:14:13.000000000 -0500 +++ linux-compile.git/lib/tracing/tracer.c 2008-01-14 14:57:41.000000000 -0500 @@ -19,12 +19,18 @@ #include #include #include +#include #include #include #include "tracer.h" #include "tracer_interface.h" +static inline notrace cycle_t now(void) +{ + return get_monotonic_cycles(); +} + static struct mctracer_trace mctracer_trace; static DEFINE_PER_CPU(struct mctracer_trace_cpu, mctracer_trace_cpu); static int trace_enabled __read_mostly; @@ -58,6 +64,7 @@ mctracer_add_trace_entry(struct mctracer entry->ip = ip; entry->parent_ip = parent_ip; entry->pid = tsk->pid; + entry->t = now(); memcpy(entry->comm, tsk->comm, TASK_COMM_LEN); } @@ -250,6 +257,15 @@ static int s_show(struct seq_file *m, vo if (iter->ent == NULL) { seq_printf(m, "mctracer:\n"); } else { + unsigned long long t; + unsigned long usec_rem; + unsigned long secs; + + t = cycles_to_usecs(iter->ent->t); + usec_rem = do_div(t, 1000000ULL); + secs = (unsigned long)t; + + seq_printf(m, "[%5lu.%06lu] ", secs, usec_rem); seq_printf(m, "CPU %d: ", iter->cpu); seq_printf(m, "%s:%d ", iter->ent->comm, iter->ent->pid); seq_print_ip_sym(m, iter->ent->ip, sym_only); Index: linux-compile.git/lib/tracing/tracer.h =================================================================== --- linux-compile.git.orig/lib/tracing/tracer.h 2008-01-14 13:14:13.000000000 -0500 +++ linux-compile.git/lib/tracing/tracer.h 2008-01-14 14:57:41.000000000 -0500 @@ -5,6 +5,7 @@ #include struct mctracer_entry { + unsigned long long t; unsigned long idx; unsigned long ip; unsigned long parent_ip; -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/