Re: [PATCH] do_gettimeofday() fails to compensate for lost ticks

From: Khalid Aziz <khalid_at_fc.hp.com>
Date: 2003-09-25 04:58:01
Khalid Aziz wrote:
> David Mosberger wrote:
> > Not sure off-hand and I haven't looked at the 2.4 code-base in a
> > while, but aren't we double-compensating in do_settimeofday()?  There,
> > we have:
> > 
> >                 tv->tv_usec -= gettimeoffset();
> >                 tv->tv_usec -= (jiffies - wall_jiffies) * (1000000 / HZ);
> > 
> > Perhaps the second line just needs to go?
> > 
> >         --david
> 
> I bet you are right. I will try taking that line out.

That was it. The same test that failed in less than 30 seconds, now has
been running for more than 10 minutes without failure. Thanks, David.

Here is a new patch.

--
Khalid


=================================
--- linux-2.4.22/arch/ia64/kernel/time.c	Mon Aug 25 05:44:39 2003
+++ linux-2.4.22-clock_fix/arch/ia64/kernel/time.c	Wed Sep 24 12:38:20 2003
@@ -93,7 +93,6 @@
 		 * it!
 		 */
 		tv->tv_usec -= gettimeoffset();
-		tv->tv_usec -= (jiffies - wall_jiffies) * (1000000 / HZ);
 
 		while (tv->tv_usec < 0) {
 			tv->tv_usec += 1000000;
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Wed Sep 24 14:59:02 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:17 EST