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

From: David Vrabel
Date: Wed May 29 2013 - 08:16:50 EST


On 29/05/13 01:18, John Stultz wrote:
> 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

Oops. Sorry about that. That fix looks fine.

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/