Clock not moving in virtual machine

Rob Farmer rfarmer at
Fri Jul 16 21:27:50 UTC 2010

On Fri, Jul 16, 2010 at 2:05 PM, Bruce Cran <brucec at> wrote:
> On Fri, Jul 16, 2010 at 11:47:23PM +0300, Alexander Motin wrote:
>> It is probably hard to see pattern due to to very high clock frequency.
>> But TSC timecounter is unreliable even on real SMP systems. What it
>> counts on virtual SMP - even bigger question. As system seems never uses
>> timecounters with negative quality - you've left with
>> kern.timecounter.hardware=dummy - that's why time is not going. As last
>> resort you may try to set sysctl kern.timecounter.hardware=TSC in run time.
> I came across the same problem on rootbsd a few days ago, and set the TSC
> as the timecounter in /etc/sysctl.conf - I've since found it should be
> possible to also set kern.timecounter.smp_tsc=1 in /boot/loader.conf to let
> the TSC be chosen. The system's now been running for a day and I've not had
> any warnings about the clock going backward, and since the time has
> remained correct I guess Xen synchronises with the host? Should I still
> switch back to using the i8254?
> --
> Bruce Cran

Setting kern.timecounter.smp_tsc=1 works for me. I put it in
/boot/loader.conf so it would automatically work for single user mode
too. I don't think the host automatically synchronizes the clock -
their website recommends running ntp and I saw the clock drift a fair
amount before I started doing that.

Thanks for the tip.
Rob Farmer

More information about the freebsd-current mailing list