[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-ia64-devel] SMP-guest status
Le Jeudi 20 Avril 2006 18:51, Alex Williamson a écrit :
> On Thu, 2006-04-20 at 18:26 +0200, Tristan Gingold wrote:
> > Le Jeudi 20 Avril 2006 17:11, Alex Williamson a écrit :
> > > On Thu, 2006-04-20 at 15:22 +0200, Tristan Gingold wrote:
> > > > The change in time.c is just to work around a kernel bug. Linux
> > > > kernel requires at least an interpolator. [Hence I think there is no
> > > > platform without ITC drift].
> > >
> > > I'm not sure I'd call it a bug.
> > Here are the facts: if you boot linux 2.6.16 with ITC_DRIFT bit set,
> > kernel crashes. That's a bug to me.
> I agree that the kernel shouldn't crash *if* you have an alternate
> time source such as an HPET. Do you? The ITC time interpolator is only
> designed for ITCs that are nearly synchronized and do not drift (ie.
> they're driven from the same clock source). The ITC_DRIFT flag is an
> indication that the ITC are not driven by the same clock source and
> therefore may drift. If we were to use the ITC interpolator on a system
> that reports ITC_DRIFT we would get sporadic jumps in time depending on
> which CPU's ITC we're using as a reference.
> > > The kernel requires some kind of
> > > timesource for an interpolator. AFAIK, SGI systems are the only ones
> > > that report ITC drift and they have a platform timesource to
> > > compensate.
> > ^^^ no ITC drift
> > Thank you for the info.
> No, to be clear, SGI systems are the only systems that I know of that
> set ITC_DRIFT in the sal_platform_features. Presumably their hardware
> does drive the ITC of the various nodes in the system from different
> clock sources. They therefore cannot make use of the ITC interpolator.
> To compensate for this, they have a platform specific time interpolator
> registered for SN systems. All ia64 platforms must provide either
> non-drifting ITCs (as indicated by not setting the ITC_DRIFT flag) or
> provide an alternate time source to be registered as a new time
> interpolator. I suppose one could argue that a single ITC could be used
> as a timesource in the drifting case, but the overhead in doing this
> would be impractical and the current ITC interpolator is not designed to
> do so. Thanks,
Sorry, I misread the ITC_DRIFT specification. Mea culpa.
Xen-ia64-devel mailing list