From 709087ca16882297c6e553c25c77dfd9b720009a Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Mon, 29 Dec 2003 05:51:51 -0800 Subject: [PATCH] [PATCH] Erronous use of tick_usec in do_gettimeofday From: Joe Korty do_gettimeofday() is using tick_usec which is defined in terms of USER_HZ not HZ. --- arch/i386/kernel/time.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/i386/kernel/time.c b/arch/i386/kernel/time.c index 1351b4c431d60..65054ace15095 100644 --- a/arch/i386/kernel/time.c +++ b/arch/i386/kernel/time.c @@ -95,7 +95,7 @@ void do_gettimeofday(struct timeval *tv) { unsigned long seq; unsigned long usec, sec; - unsigned long max_ntp_tick = tick_usec - tickadj; + unsigned long max_ntp_tick; do { unsigned long lost; @@ -111,13 +111,14 @@ void do_gettimeofday(struct timeval *tv) * Better to lose some accuracy than have time go backwards.. */ if (unlikely(time_adjust < 0)) { + max_ntp_tick = (USEC_PER_SEC / HZ) - tickadj; usec = min(usec, max_ntp_tick); if (lost) usec += lost * max_ntp_tick; } else if (unlikely(lost)) - usec += lost * tick_usec; + usec += lost * (USEC_PER_SEC / HZ); sec = xtime.tv_sec; usec += (xtime.tv_nsec / 1000); -- 2.53.0