Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Jun 2018 10:05:32 -0700 (PDT)
From:      "Rodney W. Grimes" <freebsd-rwg@pdx.rh.CN85.dnsmgr.net>
To:        Alan Somers <asomers@freebsd.org>
Cc:        Jung-uk Kim <jkim@freebsd.org>, Andriy Gapon <avg@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: TSC calibration in virtual machines
Message-ID:  <201806271705.w5RH5WZ7009269@pdx.rh.CN85.dnsmgr.net>
In-Reply-To: <CAOtMX2gcUybMhPdEzBWX07-oPdmJdqn%2BvW7KkNZvs2sFmcHFNw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> On Wed, Jun 27, 2018 at 10:36 AM, Jung-uk Kim <jkim@freebsd.org> wrote:
> 
> > On 06/27/2018 03:14, Andriy Gapon wrote:
> > >
> > > It seems that TSC calibration in virtual machines sometimes can do more
> > harm
> > > than good.  Should we default to trusting the information provided by a
> > hypervisor?
> > >
> > > Specifically, I am observing a problem on GCE instances where calibrated
> > TSC
> > > frequency is about 10% lower than advertised frequency.  And apparently
> > the
> > > advertised frequency is the right one.
> > >
> > > I found this thread with similar reports and a variety of workarounds
> > from
> > > administratively disabling the calibration to switching to a different
> > timecounter:
> > > https://lists.freebsd.org/pipermail/freebsd-cloud/2017-
> > January/000080.html
> >
> > We already do that for VMware hosts since r221214.
> >
> > https://svnweb.freebsd.org/changeset/base/221214
> >
> > We should do the same for each hypervisor.
> >
> > Jung-uk Kim
> >
> >
> We probably should.  But why does calibration fail in the first place?  If
> it can fail in a VM, then it can probably fail on bare metal too.  It would
> be worth investigating.

No, the failure in a VM is unique to a VM, it has to do with the fact
your have the hypervisor timeslicing a CPU that you believe to be 100%
dedicated to you.

There are several white papers, including one from VMWare about what
they have done to help with the time keeping problems.

What is suggested above would be a correct thing to do.
Bhyve creates these issues as well, and use of certain timers
in a bhyve guest can cause you nightmares with ntp.


-- 
Rod Grimes                                                 rgrimes@freebsd.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201806271705.w5RH5WZ7009269>