tracing: Add a counter clock for those that do not trust clocks
authorSteven Rostedt <srostedt@redhat.com>
Mon, 19 Sep 2011 15:35:58 +0000 (11:35 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Mon, 19 Sep 2011 15:35:58 +0000 (11:35 -0400)
commit6249687f76b69cc0b2ad34636f4a18d693ef3262
tree9c007b85738eb86f113a9a6de1e35129532e5f54
parentc64e148a3be3cb786534ad38298c25c833116c26
tracing: Add a counter clock for those that do not trust clocks

When debugging tight race conditions, it can be helpful to have a
synchronized tracing method. Although in most cases the global clock
provides this functionality, if timings is not the issue, it is more
comforting to know that the order of events really happened in a precise
order.

Instead of using a clock, add a "counter" that is simply an incrementing
atomic 64bit counter that orders the events as they are perceived to
happen.

The trace_clock_counter() is added from the attempt by Peter Zijlstra
trying to convert the trace_clock_global() to it. I took Peter's counter
code and made trace_clock_counter() instead, and added it to the choice
of clocks. Just echo counter > /debug/tracing/trace_clock to activate
it.

Requested-by: Thomas Gleixner <tglx@linutronix.de>
Requested-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Reviewed-By: Valdis Kletnieks <valdis.kletnieks@vt.edu>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/trace_clock.h
kernel/trace/trace.c
kernel/trace/trace_clock.c