WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

Re: [Xen-ia64-devel] SMP-guest status

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,

        Alex

-- 
Alex Williamson                             HP Linux & Open Source Lab


_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel