Skip to content

Commit

Permalink
timekeeping: Use ktime_t based data for ktime_get()
Browse files Browse the repository at this point in the history
Speed up ktime_get() by using ktime_t based data. Text size shrinks by
64 bytes on x8664.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: John Stultz <john.stultz@linaro.org>
  • Loading branch information
KAGA-KOKO authored and johnstultz-work committed Jul 23, 2014
1 parent 7c032df commit a016a5b
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions kernel/time/timekeeping.c
Original file line number Diff line number Diff line change
Expand Up @@ -407,18 +407,19 @@ ktime_t ktime_get(void)
{
struct timekeeper *tk = &tk_core.timekeeper;
unsigned int seq;
s64 secs, nsecs;
ktime_t base;
s64 nsecs;

WARN_ON(timekeeping_suspended);

do {
seq = read_seqcount_begin(&tk_core.seq);
secs = tk->xtime_sec + tk->wall_to_monotonic.tv_sec;
nsecs = timekeeping_get_ns(tk) + tk->wall_to_monotonic.tv_nsec;
base = tk->base_mono;
nsecs = timekeeping_get_ns(tk);

} while (read_seqcount_retry(&tk_core.seq, seq));

return ktime_set(secs, nsecs);
return ktime_add_ns(base, nsecs);
}
EXPORT_SYMBOL_GPL(ktime_get);

Expand Down

0 comments on commit a016a5b

Please sign in to comment.