I went for summing up the deltas and build an average at the
end. That's from a loop of 10 consecutive runs:
[ 0.000000] TSC min 2160 max 3732 avg 3266 pitcnt 30614
[ 0.000000] TSC min 2160 max 1036164 avg 3299 pitcnt 30310
[ 0.000000] TSC min 2160 max 1032360 avg 3303 pitcnt 30277
[ 0.000000] TSC min 2160 max 210453018 avg 69509 pitcnt 30260
Hit very late in the loop, as pitcnt is close to the others
[ 0.000000] TSC min 2160 max 3708 avg 3265 pitcnt 30624
[ 0.000000] TSC min 2160 max 3720 avg 3265 pitcnt 30622
[ 0.000000] TSC min 2160 max 1062252 avg 3301 pitcnt 30287
[ 0.000000] TSC min 2160 max 3756 avg 3267 pitcnt 30605
[ 0.000000] TSC min 2160 max 3732 avg 3267 pitcnt 30605
[ 0.000000] TSC min 2136 max 989292 avg 3297 pitcnt 30324
[ 0.000000] TSC min 2136 max 3744 avg 3266 pitcnt 30612
[ 0.000000] TSC min 2160 max 78042006 avg 78045 pitcnt 1001
This one hit early in the loop as pitcnt is pretty low.
The min value is pretty constant.
The max value for sane loops is in the range of 3708 - 3756, the
average is between 3266 and 3267.
For those which have a ~500us maximum the average is still in a sane
range. That seems to be a single glitch, which pushs the maximum, but
does not really influence the average result.
The outstanding one is the 100ms (210 453 018 ticks), where the average
is also off by factor 20.
I think that information is enough to give us a pretty precice idea
when to discard the result. I'm currently looking at the hpet/pmtimer
values for comparison and I should have a patch for testing ready
later tonight.
Increasing the delay is probably not a good idea as we just make the
window larger for the SMI to happen.
Yeah, I know. One of the oddballs is the USB->PS2 keyboard emulator
which is active during early boot. We do the USB handoff definitely
after the TSC calibration. Found a box with similar (not that bad)
hickups which go away when I disable that in the BIOS settings.
Can't say anything about the laptop in that regard, because the BIOS
does not offer me a switch for that :(
Thanks,
tglx
--