lkml.org 
[lkml]   [2008]   [Sep]   [4]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateThu, 4 Sep 2008 10:53:06 -0700 (PDT)
FromLinus Torvalds <>
SubjectRe: [RFC patch 0/4] TSC calibration improvements
On Thu, 4 Sep 2008, Alok Kataria wrote:
> > Looping for a smaller timeout is really going to strain things for
> Virtualization.

Can you check the patch I just sent out?

It loops for a _very_ short timeout, but on the other hand it should also 
absolutely immediately notice that it's getting the wrong expected values 
under virtualization, and the fast case will then fail early. 

It then falls back on the slow case, but I don't think you can avoid that 
under virtualization.

> Even on native hardware if you reduce the  timeout to less than 10ms it
> may result in errors in the range of 2500ppm on a 2GHz systems when
> calibrating against pmtimer/hpet, this is far worse than what NTP can
> correct, afaik NTP can handle errors only upto 500ppm. And IMHO that is
> the reason why we had a timeout of 50ms before (since it limits the
> maximum theoretical error to 500ppm)

I would not mind at all having the more precise thing happen _later_, 
especially if we can do it incrementally.

One of the problems with the TSC calibration is that we need it fairly 
early (for things like usleep()), and it needs to be in the right 
ballpark. It definitely does not need to be in the parts-per-million 
range, it needs to be in the "within a few percent" range.

(To make matters worse, the TSC isn't then even used in practice for 
real-time clocks, because of variable frequency and/or halting in idle 
states. So the actual real-time clock will actually be based on HPET or 
PM_TIMER anyway most of the time).

		Linus


\
 
 \ /
  Last update: 2008-09-04 19:57    [from the cache]
©2003-2008