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
-
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/
This archive was generated by hypermail 2b29 : Tue Feb 29 2000 - 21:00:18 EST