[PATCH v2 0/2] Introduce a fast boot clock and add it as trace clock

From: Joel Fernandes
Date: Mon Nov 21 2016 - 17:12:20 EST


Currently no trace clock can account for suspend time, using monotonic during
tracing in the suspend path means the trace times wont be advaced. Using the
boot clock with ktime_get_with_offset is not an option due to live locking
concerns in NMI context as suggested by Thomas [1].
These patches add a fast boot clock based on fast monotonic clock and adds
a trace clock based on it which solves both these issues.

Changes since v1:
- Use TK_OFFS_MAX as offset.
Changes since RFC:
- Moved the ktime_t offsets to the end of tk_fast for cache line optimization
- use unlikely to optimize for the monotonic case

[1] https://lkml.org/lkml/2016/11/20/75

Joel Fernandes (2):
timekeeping: Introduce a fast boot clock derived from fast monotonic
clock
trace: Add an option for boot clock as trace clock

kernel/time/timekeeping.c | 36 ++++++++++++++++++++++++++++++------
kernel/trace/trace.c | 1 +
2 files changed, 31 insertions(+), 6 deletions(-)

Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: John Stultz <john.stultz@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
--
2.8.0.rc3.226.g39d4020