OSDN Git Service

tracing: Unify the "boot" and "mono" tracing clocks
authorThomas Gleixner <tglx@linutronix.de>
Thu, 1 Mar 2018 16:33:38 +0000 (17:33 +0100)
committerIngo Molnar <mingo@kernel.org>
Tue, 13 Mar 2018 06:34:23 +0000 (07:34 +0100)
Unify the "boot" and "mono" tracing clocks and document the new behaviour.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Kevin Easton <kevin@guarana.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mark Salyzyn <salyzyn@android.com>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/20180301165150.489635255@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Documentation/trace/ftrace.txt
include/linux/timekeeping.h
kernel/trace/trace.c

index d4601df..bf89f98 100644 (file)
@@ -449,17 +449,9 @@ of ftrace. Here is a list of some of the key files:
                which is montonic but is not subject to any rate adjustments
                and ticks at the same rate as the hardware clocksource.
 
-         boot: This is the boot clock (CLOCK_BOOTTIME) and is based on the
-               fast monotonic clock, but also accounts for time spent in
-               suspend. Since the clock access is designed for use in
-               tracing in the suspend path, some side effects are possible
-               if clock is accessed after the suspend time is accounted before
-               the fast mono clock is updated. In this case, the clock update
-               appears to happen slightly sooner than it normally would have.
-               Also on 32-bit systems, it's possible that the 64-bit boot offset
-               sees a partial update. These effects are rare and post
-               processing should be able to handle them. See comments in the
-               ktime_get_boot_fast_ns() function for more information.
+         boot: Same as mono. Used to be a separate clock which accounted
+               for the time spent in suspend while CLOCK_MONOTONIC did
+               not.
 
        To set a clock, simply echo the clock name into this file.
 
index abb3967..82c219d 100644 (file)
@@ -113,12 +113,6 @@ extern u64 ktime_get_mono_fast_ns(void);
 extern u64 ktime_get_raw_fast_ns(void);
 extern u64 ktime_get_real_fast_ns(void);
 
-/* Clock BOOTTIME compatibility wrappers */
-static inline u64 ktime_get_boot_fast_ns(void)
-{
-       return ktime_get_mono_fast_ns();
-}
-
 /*
  * timespec64 interfaces utilizing the ktime based ones
  */
index 20a2300..300f4ea 100644 (file)
@@ -1164,7 +1164,7 @@ static struct {
        { trace_clock,                  "perf",         1 },
        { ktime_get_mono_fast_ns,       "mono",         1 },
        { ktime_get_raw_fast_ns,        "mono_raw",     1 },
-       { ktime_get_boot_fast_ns,       "boot",         1 },
+       { ktime_get_mono_fast_ns,       "boot",         1 },
        ARCH_TRACE_CLOCKS
 };