we have a dual xeon 3,0ghz system with hyperthreading running here with kernel 2.6.13 / 2.6.12 and are experiencing time skips. Meaning, when you enter 'date' in the shell the result will be different depending on which cpu the command is scheduled. The longer the system is up the greater the difference. The increase is approximately 5 minutes per day; as you can probably imagine this adds up to quite a lot over weeks and screws up our logging and any other program that needs timing or writes timestamp to disk somewhere.
$> / # dmesg | grep time
time.c: Using 3.579545 MHz PM timer.
time.c: Detected 3000.236 MHz processor.
Using local APIC timer interrupts.
Detected 12.500 MHz APIC timer.
time.c: Using PIT/TSC based timekeeping.
[ ... w/o bogomips and pci timing... ]
The CPUs seem to be put in sync only at system startup:
dmesg | grep TSC
CPU 1: Syncing TSC to CPU 0.
CPU 1: synchronized TSC with CPU 0 (last diff 142 cycles, maxerr 1267 cycles)
[... for CPU1-4 ...]
but they drift apart quite heavily after that.
The server runs on a Tyan Mainboard, I'd be happy to provide any more infos if needed or try out some things, because we really need to have a server with only _one_ system time :)