Re: gettimeofday non-monotonic on 2.2.7 SMP

dave madden (dhm@webvision.com)
Thu, 20 May 1999 19:56:07 -0700


=>From: Andrea Arcangeli <andrea@suse.de>
=>...
=>Ah!! You are perfectly right, I had a bug in my recover_lost_ticks code!
=>But the bug is really really silly, just look the incremental bugfix:
=>[...]

I remember looking at that exact line, too, but I didn't notice the
error. Unfortunately, my userland prog still detects time decrements
in the 1-10ms range, frequently (but not always) accompanied by
recover_lost_timer messages in the log.

This is frustrating: you'd think that more people would have noticed
this, but some people with SMP machines tried my program and nobody
reported any time warps. Maybe something's screwy with my hardware?
I don't have anything really weird; just 4 IDE disks (2xHD, CD, and
CD-R), an IDE Zip drive on my sound card (SB ISA-PnP), ATI-PCI video,
and PS/2 and USB mice.

Looking at time.c now, I wonder if I've screwed up your patch
somehow. At line 484, I have:

/* read Pentium cycle counter */
rdtscl(last_tsc_low);
__asm__ __volatile__("rdtsc" : "=a" (last_tsc_low) : : "edx");

Don't those two lines do the same thing? (I noticed that you changed
from explicit __asm__ statements to macros/inlines on some of the MSR
and I/O statements...did you forget to remove the second statement in
this case, or did I mis-apply the patch?)

regards,
d.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/