From: Philipp Hahn <hahn@univention.de>
To: qemu-devel@nongnu.org
Cc: al pat <alps.oss@gmail.com>
Subject: Re: [Qemu-devel] Question on kvm_clock working ...
Date: Tue, 13 Sep 2011 08:49:55 +0200 [thread overview]
Message-ID: <201109130850.00106.hahn@univention.de> (raw)
In-Reply-To: <CAF9p441=2OLHCrZ126_StWV8FWVH52Us7O_QJAccxqvUtrPbjQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2358 bytes --]
Hello Al,
I just debugged a kvmclock bug, so I claim to have some knowledge in this area
now, but please take my answer with a grain of doubt.
On Monday 12 September 2011 15:21:25 al pat wrote:
> Still seeking your guidance on this. Appreciate any pointers you may have.
You have to distiguish between the real-time-clock (RTC), which in hardware is
a battery powered clock running even when your PC is powered off. Since it's
slow to access, most Linux distributions read out its value once during boot
using "hwclock --hctosys --utc" and than don't care about that clock any more
until shutdown, when they write back the system time to the RTC
using "... --systohc ...".
During runtime, other methods are used for time keeping: Either by counting
regular interrupts, using the ACPI-PM clock, or the High Performance Event
Timer (HPET), or the Time Stamp Counter (TSC) register, or ...;
see /sys/devices/system/clocksource/clocksource0/available_clocksource for a
list of available clock sources.
For virtual machines there is an additional clock source named "kvmclock",
which uses the host clock and the TSC: The host exports its current system
time (plus some configurable offset) and a snapshot value of TSC register
when doing so. Than the guest can interpolate the current time by using the
exported_system_time + scale * (current_TSC_value-snapshot_TSC_value). This
kvmclock doesn't have anything to do with the RTC clock as far as I know.
Now to your problem: You should check the value
of /sys/devices/system/clocksource/clocksource0/current_clocksource in your
guest. If it is somethong other than kvmclock, you should if
using "hwclock --hctosys --utc" re-synchronizes your guest clock to the host.
Sincerely
Philipp
--
Philipp Hahn Open Source Software Engineer hahn@univention.de
Univention GmbH Linux for Your Business fon: +49 421 22 232- 0
Mary-Somerville-Str.1 D-28359 Bremen fax: +49 421 22 232-99
http://www.univention.de/
----------------------------------------------------------------------------
Treffen Sie Univention auf der IT&Business vom 20. bis 22. September 2011
auf dem Gemeinschaftsstand der Open Source Business Alliance in Stuttgart in
Halle 3 Stand 3D27-7.
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
next prev parent reply other threads:[~2011-09-13 6:50 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-09 15:28 [Qemu-devel] Question on kvm_clock working al pat
2011-09-12 13:21 ` al pat
2011-09-13 6:49 ` Philipp Hahn [this message]
2011-09-13 11:38 ` al pat
2011-09-13 13:08 ` Jan Kiszka
2011-09-15 13:48 ` al pat
2011-09-26 17:47 ` Ronen Hod
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=201109130850.00106.hahn@univention.de \
--to=hahn@univention.de \
--cc=alps.oss@gmail.com \
--cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).