Introduce a fast boot clock and add it as trace clock
v2 cover Introduce a fast boot clock and add it as trace clock
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(-)
Signature · 1 line
2.8.0.rc3.226.g39d4020