[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 1/3] x86: increase precision of x86_platform.get/set_wallclock()



On 05/13/2013 10:56 AM, David Vrabel wrote:
From: David Vrabel <david.vrabel@xxxxxxxxxx>

All the virtualized platforms (KVM, lguest and Xen) have persistent
wallclocks that have more than one second of precision.

read_persistent_wallclock() and update_persistent_wallclock() allow
for nanosecond precision but their implementation on x86 with
x86_platform.get/set_wallclock() only allows for one second precision.
This means guests may see a wallclock time that is off by up to 1
second.

Make set_wallclock() and get_wallclock() take a struct timespec
parameter (which allows for nanosecond precision) so KVM and Xen
guests may start with a more accurate wallclock time and a Xen dom0
can maintain a more accurate wallclock for guests.

Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx>
---
  arch/x86/include/asm/mc146818rtc.h |    4 ++--
  arch/x86/include/asm/x86_init.h    |    6 ++++--
  arch/x86/kernel/kvmclock.c         |    9 +++------
  arch/x86/kernel/rtc.c              |   17 +++++++----------
  arch/x86/lguest/boot.c             |    4 ++--
  arch/x86/platform/efi/efi.c        |   10 ++++++----
  arch/x86/xen/time.c                |   19 ++++++-------------
  include/linux/efi.h                |    4 ++--

Just FYI, David: You missed the vrtc code with this conversion.

I finally got around to pushing my current queue to my public tree and the kbuild robot noticed the build failure (required INTEL_MID config to trigger).

The fix I've queued is here:
https://git.linaro.org/gitweb?p=people/jstultz/linux.git;a=commitdiff;h=52d8e9cc6718ae9e6c44b7723028e4717ba91c8b;hp=1dd5234774b33a17743ae62e8b46b5cd0059e1c7

Let me know if you have any objection or comments on this.

thanks
-john


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.