Messages in this thread | | | Date | Sun, 27 Feb 2000 16:39:29 -0500 | From | Boris Okun <> | Subject | gettimeofday non-monotonic on SMP 2.3.47 |
| |
In my previous message I described some strange interactive problems on SMP kernels. I think now that the source of this problems is the fact that gettimeofday is non-monotonic on SMP. A quick search of l-k shows that this problem was known about a year ago and supposedly fixed then. However by using the same test program by Dave Madden (attached) that was used then I see non-monotonicity. I get the following:
$ ./timetest Sun Feb 27 15:55:04 2000: fwd:636993/59:back max 9073493 Sun Feb 27 15:54:56 2000: fwd:10219/2:back max 8988313 Sun Feb 27 15:54:57 2000: fwd:202937/1:back max 1738037 Sun Feb 27 15:54:58 2000: fwd:758898/37:back max 8911001 Sun Feb 27 15:54:57 2000: fwd:735784/36:back max 8795815 ^^^ This is most disturbing! Sun Feb 27 15:54:58 2000: fwd:3650/0:back max 0000000 Sun Feb 27 15:54:59 2000: fwd:19044/1:back max 1974287 Sun Feb 27 15:55:07 2000: fwd:1184754/76:back max 8685815
This is on SMP 2.3.47 Intel BX mb with P2/400 and P3/450. I don't see this problem in UP.
Before you jump and tell me that processors must be the same let me point out that Intel specifically calls for support of processors of different abilities and speeds for an OS to be MP Spec 1.4 compliant.
In my log I see the message
BIOS BUG: CPU#0 improperly initialized, has -1458212 usecs TSC skew! FIXED. BIOS BUG: CPU#1 improperly initialized, has 1458212 usecs TSC skew! FIXED.?
from synchronize_tsc_bp in arch/i386/kernel/smpboot.c I am not sure whether this is related or not. Can somebody explain the meaning of the word FIXED here and especially the meaning of "sum += delta;"
Thanks,
Boris[unhandled content-type:application/octet-stream] | |