Messages in this thread |  | | | Date | Thu, 4 Sep 2008 11:26:43 -0700 (PDT) | | From | Linus Torvalds <> | | Subject | Re: [RFC patch 0/4] TSC calibration improvements | |
On Thu, 4 Sep 2008, Alan Cox wrote:
>
> > (And yes, I do the latching - it's not reqlly required since I only depend
> > on the MSB, and it actually makes for slightly lower precision, but it's
> > the "safe" thing. And I figured out that the reason I thought that the
>
> Good job you don't. Various Cyrix/Geode chipsets have as errata #2
>
> "Counter latch command is non-operational in the 8254 timer"
Yeah, I had some memory of latch issues. I wrote the thing originally
without the latching, which is why the whole thing is designed to igore
the low cycle count. I just decided that doing the latching shouldn't
hurt that much, even if it ends up being just a 1us no-op.
It does mean that on any normal hardware, the expected error is roughly
3us over 2048 PIT ticks, which if I do the math right (nominal PIT
frequency: 1193182 Hz) is just under 0.2%. Or put another way, ~1750 ppm.
Not doing the latching should make the expected error go down to 2us.
Of course, the 2048 PIT ticks is just a random choice. It could be any
multiple of 256 ticks, so that error can be made smaller. Maybe it's worth
spending 10ms on this, and get it down by a factor of five (at which point
the error on the PIT frequency is probably in the same order of
magnitude).
Linus
|  |