Skip to content

Commit

Permalink
timekeeping: Refactor timekeeping helpers
Browse files Browse the repository at this point in the history
Simplify the usage of timekeeping sanity checking, in preparation for
consolidating timekeeping helpers. This works towards eliminating
timekeeping_delta_to_ns() in favour of timekeeping_cycles_to_ns().

No functional change.

Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240325064023.2997-14-adrian.hunter@intel.com
  • Loading branch information
Adrian Hunter authored and Thomas Gleixner committed Apr 8, 2024
1 parent 670be12 commit e8e9d21
Showing 1 changed file with 6 additions and 14 deletions.
20 changes: 6 additions & 14 deletions kernel/time/timekeeping.c
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ static void timekeeping_check_update(struct timekeeper *tk, u64 offset)
}
}

static inline u64 timekeeping_get_delta(const struct tk_read_base *tkr)
static inline u64 timekeeping_debug_get_delta(const struct tk_read_base *tkr)
{
struct timekeeper *tk = &tk_core.timekeeper;
u64 now, last, mask, max, delta;
Expand Down Expand Up @@ -281,17 +281,9 @@ static inline u64 timekeeping_get_delta(const struct tk_read_base *tkr)
static inline void timekeeping_check_update(struct timekeeper *tk, u64 offset)
{
}
static inline u64 timekeeping_get_delta(const struct tk_read_base *tkr)
static inline u64 timekeeping_debug_get_delta(const struct tk_read_base *tkr)
{
u64 cycle_now, delta;

/* read clocksource */
cycle_now = tk_clock_read(tkr);

/* calculate the delta since the last update_wall_time */
delta = clocksource_delta(cycle_now, tkr->cycle_last, tkr->mask);

return delta;
BUG();
}
#endif

Expand Down Expand Up @@ -396,10 +388,10 @@ static __always_inline u64 __timekeeping_get_ns(const struct tk_read_base *tkr)

static inline u64 timekeeping_get_ns(const struct tk_read_base *tkr)
{
u64 delta;
if (IS_ENABLED(CONFIG_DEBUG_TIMEKEEPING))
return timekeeping_delta_to_ns(tkr, timekeeping_debug_get_delta(tkr));

delta = timekeeping_get_delta(tkr);
return timekeeping_delta_to_ns(tkr, delta);
return __timekeeping_get_ns(tkr);
}

/**
Expand Down

0 comments on commit e8e9d21

Please sign in to comment.