public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: John Buswell <buswellj@carbonmountain.com>
To: John Buswell <buswellj@carbonmountain.com>,
	Alex Hermann <alex@speakup.nl>,
	kvm@vger.kernel.org
Subject: Re: Synchronized time with kvm_clock
Date: Mon, 26 Apr 2010 13:07:37 -0400	[thread overview]
Message-ID: <4BD5C859.4090903@carbonmountain.com> (raw)
In-Reply-To: <20100426164327.GC25799@miggy.org>

Athanasius wrote:
> On Mon, Apr 26, 2010 at 10:32:51AM -0400, John Buswell wrote:
>   
>> You don't need to run ntp on each guest. You can enable rtc support in  
>> the guest kernel and on the hypervisor. Run ntp client on the hypervisor  
>> via cron, and use hwclock -w on the hypervisor after you run ntp, to  
>> sync the hardware clock to the system clock (which is now updated by  
>> ntpdate). On the guests, periodically run hwclock -s to set the system  
>> clock from the hw clock.
>>     
>
>   What a *horribly* hacky way to do it, meaning you'll get time warps
> all over the place, admittedly of short intervals if you run those cron
> jobs often enough.  It seems much simpler to me to simply run ntpd in
> all the guests.  It's not like the extra CPU or bandwidth is going to be
> a problem.  At the very least you want to run ntpd, not ntpdate out of
> cron, in the hypervisor, and only use cron for those hwclock -w's.
Not really. You don't get time warps at all, the only place you get a 
time warp is on the initial guest, and thats not a problem with the 
workaround I suggested. It seems to be an issue with the clock on the 
initial guest. There is no point wasting resources by running ntpd on 
each guest when you don't have to.
>   
>> This seems to work extremely well, the clocksource on the guests as  
>> kvm_clock, and as long as you have the clocksource as hpet or acpi_pm on  
>> the hypervisor, there doesn't seem to be any problems with keeping time.
>>
>> The only thing I've noticed is that when you reboot, the very first  
>> guest will have the wrong time on boot, so the uptime is messed up.
>>     
>
>   And I think many people would find this unacceptable.
>   
This particular problem has nothing to do with what I suggested above. 
This is some kind of issue with kvm_clock on the first guest starting up.
>   Really, I appreciate that "keep the time sync'd via ntpd on the
> hypervisor and have it passed accurately to the guests" has a certain
> elegant simplicity about it.  But if you achieve the latter by
> periodically resyncing against what the guest sees as its hardware clock
> you've lost that elegance again.  It really needs to 'just work' via KVM
> code in the guest kernel using the exact same time as the hypervisor
> kernel is supplying.
>
>   
I agree. Unfortunately, kvm_clock doesn't seem to be quite there yet. So 
using rtc0 as a comparison, and keeping the hypervisor clock in sync 
with reality, is a good way to avoid having to run N+1 copies of ntpd on 
the guests :)

-- 
John Buswell
CEO, Carbon Mountain LLC
http://www.carbonmountain.com


      reply	other threads:[~2010-04-26 17:07 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-26  9:33 Synchronized time with kvm_clock Alex Hermann
2010-04-26 10:01 ` Alex Hermann
2010-04-26 14:32   ` John Buswell
2010-04-26 16:43     ` Athanasius
2010-04-26 17:07       ` John Buswell [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BD5C859.4090903@carbonmountain.com \
    --to=buswellj@carbonmountain.com \
    --cc=alex@speakup.nl \
    --cc=kvm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox