x86: Use xen_vcpuop_clockevent, xen_clocksource and xen wallclock.
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>
Fri, 14 May 2010 11:48:19 +0000 (12:48 +0100)
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Tue, 27 Jul 2010 06:13:25 +0000 (23:13 -0700)
commit409771d258e9dd71c30f3c9520fd2b796ffc40f0
tree68678275563114e9d381ae587fc80bd4d34a7e90
parent99ad198c4978036bb9f7ebd11618b225b77046da
x86: Use xen_vcpuop_clockevent, xen_clocksource and xen wallclock.

Use xen_vcpuop_clockevent instead of hpet and APIC timers as main
clockevent device on all vcpus, use the xen wallclock time as wallclock
instead of rtc and use xen_clocksource as clocksource.
The pv clock algorithm needs to work correctly for the xen_clocksource
and xen wallclock to be usable, only modern Xen versions offer a
reliable pv clock in HVM guests (XENFEAT_hvm_safe_pvclock).

Using the hpet as clocksource means a VMEXIT every time we read/write to
the hpet mmio addresses, pvclock give us a better rating without
VMEXITs. Same goes for the xen wallclock and xen_vcpuop_clockevent

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Don Dutile <ddutile@redhat.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
arch/x86/xen/enlighten.c
arch/x86/xen/suspend.c
arch/x86/xen/time.c
arch/x86/xen/xen-ops.h
include/xen/interface/features.h