15 Mar, 2013

1 commit

  • Add a simple trace clock called "uptime" for those that are
    interested in the uptime of the trace. It uses jiffies as that's
    the safest method, as other uptime clocks grab seq locks, which could
    cause a deadlock if taken from an event or function tracer.

    Requested-by: Mauro Carvalho Chehab
    Cc: Thomas Gleixner
    Cc: Frederic Weisbecker
    Signed-off-by: Steven Rostedt

    Steven Rostedt (Red Hat)
     

14 Nov, 2012

1 commit

  • In order to promote interoperability between userspace tracers and ftrace,
    add a trace_clock that reports raw TSC values which will then be recorded
    in the ring buffer. Userspace tracers that also record TSCs are then on
    exactly the same time base as the kernel and events can be unambiguously
    interlaced.

    Tested: Enabled a tracepoint and the "tsc" trace_clock and saw very large
    timestamp values.

    v2:
    Move arch-specific bits out of generic code.
    v3:
    Rename "x86-tsc", cleanups
    v7:
    Generic arch bits in Kbuild.

    Google-Bug-Id: 6980623
    Link: http://lkml.kernel.org/r/1352837903-32191-1-git-send-email-dhsharp@google.com

    Acked-by: Ingo Molnar
    Cc: Masami Hiramatsu
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Signed-off-by: David Sharp
    Signed-off-by: Steven Rostedt

    David Sharp
     

19 Sep, 2011

1 commit

  • 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
    Requested-by: Peter Zijlstra
    Reviewed-By: Valdis Kletnieks
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

27 Feb, 2009

1 commit

  • Impact: implement new tracing timestamp APIs

    Add three trace clock variants, with differing scalability/precision
    tradeoffs:

    - local: CPU-local trace clock
    - medium: scalable global clock with some jitter
    - global: globally monotonic, serialized clock

    Make the ring-buffer use the local trace clock internally.

    Acked-by: Peter Zijlstra
    Acked-by: Steven Rostedt
    Signed-off-by: Ingo Molnar

    Ingo Molnar