> > Really getting better value would require some sort of repeated check > > (maybe an alarm callback), and using cpu value as a starting point. > > In practically all my tests, on machines without tsc_known_freq, the > value determined by our linux estimation code with rounding lowered to > 1KHz, was much better (closer to kernel value, actually exact the > kernel value except one case where they differed in a couple of KHz). > What would repeated tests give us? I don't think the kernel value > changes, does it?
Looking at the kernel code, there is a mention of a watchdog but it seems mostly disabled for TSC based on cpu flags (and it doesn't seem to change on the systems I'm testing). > In fact I think we should lower the rounding in our linux estimation > code to 1KHz (and its time from 100ms to 200ms, just to be on the safe > side, the kernel does a full second), as well as lower the rounding of > our common code to 1MHz. This will simply be more accurate. Increasing the test time to 200ms or even a full second doesn't seem to provide any improvement, so I'll keep it at 100ms and round it at 10KHz (close to the margin error).