Re: [PATCH RFC] x86, tsc: Allow for high latency in quick_pit_calibrate()

From: George Spelvin
Date: Sat Jun 06 2015 - 17:51:12 EST


And, for interest's sake, I went to a somewhat older machine: a 2008
MSI K9A2 platinum with DDR2, a Socket 939 AMD processor, SB600 south
bridge and (most importantly for this) a Fintek F71882FG super-IO
chip providing the PIT and RTC.

Anyway, the results are similar, again with the RTC being faster to
access than the PIT (by 14% this time).

BUT! Two significant things failed, and I need to dig into why.
First, although my main RTC loop saw the PF edges at the expected
intervals of 2.5 GHz/8192 Hz = 305176, the second loop didn't; it
hit the safety timeout of 10,000 samples.

Second, fast RTC calibration failed for some reason.
I need to dig deeper into why.

Anyway, here's the kernel log, with "MEAN" "Std. Dev" lines
added at the end of each group.

It's interesting that the standard deviation for two PIT reads is lower
than that for one. If the times were independent, you'd expect it to
be a factor of sqrt(2) higher.

hpet clockevent registered
** 2-byte PIT timing
PIT edge delta 538765, range 12453
PIT edge delta 535720, range 12493
PIT edge delta 535605, range 12418
PIT edge delta 535640, range 12493
PIT edge delta 535760, range 12413
PIT edge delta 535520, range 12493
PIT edge delta 535680, range 12453
PIT edge delta 535715, range 12413
PIT edge delta 541920, range 12493
PIT edge delta 535640, range 12533
PIT edge delta 535565, range 12373
PIT edge delta 535680, range 12458
PIT edge delta 535600, range 12413
PIT edge delta 535760, range 12373
PIT edge delta 535640, range 12493
PIT edge delta 535675, range 12413
PIT edge delta 535840, range 12413
PIT edge delta 541725, range 12373
PIT edge delta 535635, range 12413
PIT edge delta 535565, range 12453
PIT edge delta 535795, range 12453
PIT edge delta 535645, range 12493
PIT edge delta 535635, range 12573
PIT edge delta 535720, range 12493
PIT edge delta 535560, range 12533
PIT edge delta 542000, range 12493
PIT edge delta 535600, range 12493
PIT edge delta 535645, range 12493
PIT edge delta 535715, range 12533
PIT edge delta 535475, range 12493
PIT edge delta 535805, range 12493
PIT edge delta 535600, range 12493
PIT edge delta 535605, range 12453
PIT edge delta 541995, range 12493
PIT edge delta 535675, range 12488
PIT edge delta 535650, range 12493
PIT edge delta 535635, range 12458
PIT edge delta 535680, range 12453
PIT edge delta 535605, range 12413
PIT edge delta 535675, range 12373
PIT edge delta 535725, range 12493
PIT edge delta 541835, range 12413
PIT edge delta 535685, range 12493
PIT edge delta 535635, range 12493
PIT edge delta 535680, range 12413
MEAN: 536420.55 12462.11
Std.Dev: 2012.8 47.95

** 1-byte PIT timing
PIT edge delta 535757, range 6295, iter 166
PIT edge delta 536680, range 6295, iter 169
PIT edge delta 536810, range 6295, iter 169
PIT edge delta 536715, range 6455, iter 169
PIT edge delta 536675, range 6335, iter 169
PIT edge delta 536085, range 6295, iter 169
PIT edge delta 536760, range 6415, iter 169
PIT edge delta 536520, range 6415, iter 169
PIT edge delta 536520, range 6292, iter 169
PIT edge delta 537235, range 6300, iter 169
PIT edge delta 536640, range 6255, iter 169
PIT edge delta 536440, range 6375, iter 169
PIT edge delta 536560, range 6295, iter 169
PIT edge delta 534398, range 6375, iter 168
PIT edge delta 536800, range 6337, iter 169
PIT edge delta 536325, range 6335, iter 169
PIT edge delta 537075, range 6375, iter 169
PIT edge delta 536680, range 6370, iter 169
PIT edge delta 536725, range 6330, iter 169
PIT edge delta 534042, range 6375, iter 168
PIT edge delta 536990, range 6540, iter 169
PIT edge delta 536570, range 6335, iter 169
PIT edge delta 536910, range 6255, iter 169
PIT edge delta 536605, range 6255, iter 169
PIT edge delta 536645, range 6335, iter 169
PIT edge delta 536995, range 6260, iter 169
PIT edge delta 536480, range 6255, iter 169
PIT edge delta 536485, range 6255, iter 169
PIT edge delta 533908, range 6295, iter 168
PIT edge delta 536610, range 6377, iter 169
PIT edge delta 536802, range 6335, iter 169
PIT edge delta 536668, range 6375, iter 169
PIT edge delta 536605, range 6295, iter 169
PIT edge delta 536800, range 6415, iter 169
PIT edge delta 536525, range 6410, iter 169
PIT edge delta 536920, range 6416, iter 169
PIT edge delta 536435, range 6413, iter 169
PIT edge delta 537000, range 6255, iter 169
PIT edge delta 536525, range 6250, iter 169
MEAN: 536459.49 6336.92 168.85
Std.Dev: 735.73 66.94 0.54

** RTC timing
RTC edge delta 303365, range 5535, iter 109
RTC edge delta 306037, range 5735, iter 110
RTC edge delta 306438, range 5615, iter 110
RTC edge delta 303685, range 5535, iter 109
RTC edge delta 306047, range 5535, iter 110
RTC edge delta 609673, range 5495, iter 220
RTC edge delta 306209, range 5535, iter 110
RTC edge delta 303708, range 5535, iter 109
RTC edge delta 305838, range 5535, iter 110
RTC edge delta 306202, range 5535, iter 110
RTC edge delta 609643, range 5495, iter 220
RTC edge delta 306522, range 5535, iter 110
RTC edge delta 303280, range 5535, iter 109
RTC edge delta 306273, range 5537, iter 110
RTC edge delta 303640, range 5535, iter 109
RTC edge delta 306442, range 5490, iter 110
RTC edge delta 306438, range 5535, iter 110
RTC edge delta 303640, range 5535, iter 109
RTC edge delta 306322, range 5535, iter 110
RTC edge delta 303125, range 5455, iter 109
RTC edge delta 306513, range 5535, iter 110
RTC edge delta 306527, range 5575, iter 110
RTC edge delta 303435, range 5535, iter 109
RTC edge delta 306243, range 5535, iter 110
RTC edge delta 303680, range 5695, iter 109
RTC edge delta 306202, range 5535, iter 110
RTC edge delta 306153, range 5540, iter 110
RTC edge delta 303485, range 5535, iter 109
RTC edge delta 306197, range 5497, iter 110
RTC edge delta 303690, range 5535, iter 109
RTC edge delta 306273, range 5535, iter 110
RTC edge delta 306282, range 5535, iter 110
RTC edge delta 303035, range 5535, iter 109
RTC edge delta 306283, range 5495, iter 110
RTC edge delta 306277, range 5535, iter 110
RTC edge delta 303560, range 5535, iter 109
RTC edge delta 305918, range 5530, iter 110
RTC edge delta 306247, range 5535, iter 110
RTC edge delta 303870, range 5535, iter 109
RTC edge delta 306448, range 5535, iter 110
RTC edge delta 303205, range 5695, iter 109
RTC edge delta 306432, range 5735, iter 110
RTC edge delta 303600, range 5535, iter 109
RTC edge delta 306233, range 5455, iter 110
RTC edge delta 306327, range 5535, iter 110
RTC edge delta 303440, range 5535, iter 109
RTC edge delta 306523, range 5535, iter 110
RTC edge delta 303710, range 5535, iter 109
RTC edge delta 306172, range 5495, iter 110
RTC edge delta 306078, range 5535, iter 110
RTC edge delta 303395, range 5535, iter 109
RTC edge delta 306244, range 5655, iter 110
RTC edge delta 306316, range 5535, iter 110
RTC edge delta 303360, range 5575, iter 109
RTC edge delta 306442, range 5655, iter 110
RTC edge delta 305758, range 5535, iter 110
RTC edge delta 303725, range 5540, iter 109
RTC edge delta 306437, range 5495, iter 110
RTC edge delta 303645, range 5535, iter 109
RTC edge delta 306473, range 5535, iter 110
RTC edge delta 303645, range 5535, iter 109
RTC edge delta 306397, range 5495, iter 110
RTC edge delta 306003, range 5655, iter 110
MEAN: 314895.32 5547.13 113.13
Std.Dev: 53818.41 56.89 19.51

** RTC timing details
RTC sample 9937: 2759
RTC sample 9938: 2761
RTC sample 9939: 2759
RTC sample 9940: 2881
RTC sample 9941: 2759
RTC sample 9942: 2756
RTC sample 9943: 2759
RTC sample 9944: 2761
RTC sample 9945: 2759
RTC sample 9946: 2761
RTC sample 9947: 2759
RTC sample 9948: 2761
RTC sample 9949: 2759
RTC sample 9950: 2761
RTC sample 9951: 2759
RTC sample 9952: 2721
RTC sample 9953: 2719
RTC sample 9954: 2761
RTC sample 9955: 2759
RTC sample 9956: 2761
RTC sample 9957: 2799
RTC sample 9958: 2761
RTC sample 9959: 2759
RTC sample 9960: 2761
RTC sample 9961: 2719
RTC sample 9962: 2721
RTC sample 9963: 2759
RTC sample 9964: 2761
RTC sample 9965: 2759
RTC sample 9966: 2761
RTC sample 9967: 2879
RTC sample 9968: 2761 *
RTC sample 9969: 2759
RTC sample 9970: 2761
RTC sample 9971: 2759
RTC sample 9972: 2761
RTC sample 9973: 2759
RTC sample 9974: 2761
RTC sample 9975: 2759
RTC sample 9976: 2761
RTC sample 9977: 2759
RTC sample 9978: 2761
RTC sample 9979: 2759
RTC sample 9980: 2761
RTC sample 9981: 2759
RTC sample 9982: 2761
RTC sample 9983: 2719
RTC sample 9984: 2721
RTC sample 9985: 2764
RTC sample 9986: 2876
RTC sample 9987: 2764
RTC sample 9988: 2801
RTC sample 9989: 2759
RTC sample 9990: 2761
RTC sample 9991: 2759
RTC sample 9992: 2761
RTC sample 9993: 2759
RTC sample 9994: 2761
RTC sample 9995: 2754
RTC sample 9996: 2761
RTC sample 9997: 2759
RTC sample 9998: 2761
RTC sample 9999: 2759
MEAN: 2763.08
Std.Dev: 29.68

tsc: Fast TSC calibration failed
tsc: Unable to calibrate against PIT
tsc: using HPET reference calibration
Using user defined TSC freq: 2500.210 MHz
tsc: Detected 2500.210 MHz processor
Calibrating delay loop (skipped), value calculated using timer frequency.. 5000.42 BogoMIPS (lpj=25002100)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/