[RFC] possible erronous use of tick_usec in do_gettimeofday

From: Joe Korty
Date: Tue Nov 25 2003 - 11:46:49 EST


test10's version of do_gettimeofday is using tick_usec which is
defined in terms of USER_HZ not HZ.

Against 2.6.0-test10-bk1. Compiled, not tested, for comment only.

Joe

--- base/arch/i386/kernel/time.c 2003-11-23 20:31:55.000000000 -0500
+++ new/arch/i386/kernel/time.c 2003-11-25 11:22:38.000000000 -0500
@@ -94,7 +94,7 @@
{
unsigned long seq;
unsigned long usec, sec;
- unsigned long max_ntp_tick = tick_usec - tickadj;
+ unsigned long max_ntp_tick;

do {
unsigned long lost;
@@ -110,13 +110,14 @@
* 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);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/