提交 92af4dcb 编写于 作者: T Thomas Gleixner 提交者: Ingo Molnar

tracing: Unify the "boot" and "mono" tracing clocks

Unify the "boot" and "mono" tracing clocks and document the new behaviour.
Signed-off-by: NThomas 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.deSigned-off-by: NIngo Molnar <mingo@kernel.org>
上级 127bfa5f
...@@ -449,17 +449,9 @@ of ftrace. Here is a list of some of the key files: ...@@ -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 which is montonic but is not subject to any rate adjustments
and ticks at the same rate as the hardware clocksource. and ticks at the same rate as the hardware clocksource.
boot: This is the boot clock (CLOCK_BOOTTIME) and is based on the boot: Same as mono. Used to be a separate clock which accounted
fast monotonic clock, but also accounts for time spent in for the time spent in suspend while CLOCK_MONOTONIC did
suspend. Since the clock access is designed for use in not.
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.
To set a clock, simply echo the clock name into this file. To set a clock, simply echo the clock name into this file.
......
...@@ -113,12 +113,6 @@ extern u64 ktime_get_mono_fast_ns(void); ...@@ -113,12 +113,6 @@ extern u64 ktime_get_mono_fast_ns(void);
extern u64 ktime_get_raw_fast_ns(void); extern u64 ktime_get_raw_fast_ns(void);
extern u64 ktime_get_real_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 * timespec64 interfaces utilizing the ktime based ones
*/ */
......
...@@ -1164,7 +1164,7 @@ static struct { ...@@ -1164,7 +1164,7 @@ static struct {
{ trace_clock, "perf", 1 }, { trace_clock, "perf", 1 },
{ ktime_get_mono_fast_ns, "mono", 1 }, { ktime_get_mono_fast_ns, "mono", 1 },
{ ktime_get_raw_fast_ns, "mono_raw", 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 ARCH_TRACE_CLOCKS
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册