mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-24 03:07:29 +07:00
c796348774
The function "second_overflow" uses "unsign long" as its input parameter type which will overflow after year 2106 on 32bit systems. Thus this patch replaces it with time64_t type. While the 64-bit division is expensive, "next_ntp_leap_sec" has been calculated already, so we can just re-use it in the TIME_INS/DEL cases, allowing one expensive division per leapsecond instead of re-doing the divsion once a second after the leap flag has been set. Signed-off-by: DengChao <chao.deng@linaro.org> [jstultz: Tweaked commit message] Signed-off-by: John Stultz <john.stultz@linaro.org>
14 lines
536 B
C
14 lines
536 B
C
#ifndef _LINUX_NTP_INTERNAL_H
|
|
#define _LINUX_NTP_INTERNAL_H
|
|
|
|
extern void ntp_init(void);
|
|
extern void ntp_clear(void);
|
|
/* Returns how long ticks are at present, in ns / 2^NTP_SCALE_SHIFT. */
|
|
extern u64 ntp_tick_length(void);
|
|
extern ktime_t ntp_get_next_leap(void);
|
|
extern int second_overflow(time64_t secs);
|
|
extern int ntp_validate_timex(struct timex *);
|
|
extern int __do_adjtimex(struct timex *, struct timespec64 *, s32 *);
|
|
extern void __hardpps(const struct timespec64 *, const struct timespec64 *);
|
|
#endif /* _LINUX_NTP_INTERNAL_H */
|