![]() | |||||||||||||
Messages in this thread |
On Sat, 2007-03-10 at 16:42 -0800, Jeremy Fitzhardinge wrote: > Thomas Gleixner wrote:> > It's simply enforced in NO_HZ, HIGHRES mode as we operate in absolute > > time, which is read back from the clocksource, even if we use a relative > > value for real hardware clock event devices to program the next event. > > We calculate the delta between the absolute event and now. So we never > > get an accumulating error.> >> > What problem are you observing ?> > Actually, two things. There was the unexpected pauses during boot, > which is trivially fixable by not using the Xen periodic timer, and > using the single-shot fallback.> > But I'm making the more general observation that if you use an absolute > rather than relative time to set the single-shot timeout, then you have > to deal with a long-term cumulative drift between the kernel's monotonic > time and the hypervisor's monotonic time. This can happen even if your > clocksource is derived directly from the hypervisor monotonic time, > because running ntp will warp the kernel's time, and so it will drift > with respect to the hypervisor clock. You can only avoid this by 1) not > allowing adjtime, or 2) making those same adjtime warps to the > hypervisor time. Neither of these is a good general solution. Sigh, yes. Using a relative time for the next event is probably the least ugly solution tglx - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2007-03-11 10:17 [from the cache] ©2003-2008 | |||||||||||||