Messages in this thread | | | Date | Thu, 20 May 1999 19:56:07 -0700 | From | dave madden <> | Subject | Re: gettimeofday non-monotonic on 2.2.7 SMP |
| |
=>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/
| |