diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/time/timekeeping.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 43c706a7a728..f36b02838a47 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c | |||
| @@ -171,6 +171,7 @@ static void tk_setup_internals(struct timekeeper *tk, struct clocksource *clock) | |||
| 171 | 171 | ||
| 172 | tk->ntp_error = 0; | 172 | tk->ntp_error = 0; |
| 173 | tk->ntp_error_shift = NTP_SCALE_SHIFT - clock->shift; | 173 | tk->ntp_error_shift = NTP_SCALE_SHIFT - clock->shift; |
| 174 | tk->ntp_tick = ntpinterval << tk->ntp_error_shift; | ||
| 174 | 175 | ||
| 175 | /* | 176 | /* |
| 176 | * The timekeeper keeps its own mult values for the currently | 177 | * The timekeeper keeps its own mult values for the currently |
| @@ -1352,6 +1353,8 @@ static __always_inline void timekeeping_freqadjust(struct timekeeper *tk, | |||
| 1352 | if (tk->ntp_err_mult) | 1353 | if (tk->ntp_err_mult) |
| 1353 | xinterval -= tk->cycle_interval; | 1354 | xinterval -= tk->cycle_interval; |
| 1354 | 1355 | ||
| 1356 | tk->ntp_tick = ntp_tick_length(); | ||
| 1357 | |||
| 1355 | /* Calculate current error per tick */ | 1358 | /* Calculate current error per tick */ |
| 1356 | tick_error = ntp_tick_length() >> tk->ntp_error_shift; | 1359 | tick_error = ntp_tick_length() >> tk->ntp_error_shift; |
| 1357 | tick_error -= (xinterval + tk->xtime_remainder); | 1360 | tick_error -= (xinterval + tk->xtime_remainder); |
| @@ -1497,7 +1500,7 @@ static cycle_t logarithmic_accumulation(struct timekeeper *tk, cycle_t offset, | |||
| 1497 | tk->raw_time.tv_nsec = raw_nsecs; | 1500 | tk->raw_time.tv_nsec = raw_nsecs; |
| 1498 | 1501 | ||
| 1499 | /* Accumulate error between NTP and clock interval */ | 1502 | /* Accumulate error between NTP and clock interval */ |
| 1500 | tk->ntp_error += ntp_tick_length() << shift; | 1503 | tk->ntp_error += tk->ntp_tick << shift; |
| 1501 | tk->ntp_error -= (tk->xtime_interval + tk->xtime_remainder) << | 1504 | tk->ntp_error -= (tk->xtime_interval + tk->xtime_remainder) << |
| 1502 | (tk->ntp_error_shift + shift); | 1505 | (tk->ntp_error_shift + shift); |
| 1503 | 1506 | ||
