> > 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).

Reply via email to