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 <rost...@goodmis.org>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: John Stultz <john.stu...@linaro.org>
Cc: Ingo Molnar <mi...@redhat.com>
-- 
2.8.0.rc3.226.g39d4020

Reply via email to