]> xenbits.xensource.com Git - xen.git/commitdiff
x86/time: report correct frequency of Xen PV clocksource
authorIgor Druzhinin <igor.druzhinin@citrix.com>
Thu, 5 Mar 2020 10:22:57 +0000 (11:22 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 5 Mar 2020 10:22:57 +0000 (11:22 +0100)
The value of the counter represents the number of nanoseconds
since host boot. That means the correct frequency is always 1GHz.

This inconsistency caused time to go slower in PV shim on most
platforms.

Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
master commit: c52bd545de461127f3ca67c48e8fef7145402035
master date: 2020-02-14 18:01:52 +0000

xen/arch/x86/time.c

index 9b28128baf82449a9ada7f6b568beebf366669ac..02648915b10d8a42a95ce3abdb80a1bca5666662 100644 (file)
@@ -587,9 +587,7 @@ static int64_t __init init_xen_timer(struct platform_timesource *pts)
     if ( !xen_guest )
         return 0;
 
-    pts->frequency = xen_timer_cpu_frequency();
-
-    return pts->frequency;
+    return xen_timer_cpu_frequency();
 }
 
 static always_inline uint64_t read_cycle(const struct vcpu_time_info *info,
@@ -643,6 +641,7 @@ static struct platform_timesource __initdata plt_xen_timer =
 {
     .id = "xen",
     .name = "XEN PV CLOCK",
+    .frequency = 1000000000ULL,
     .read_counter = read_xen_timer,
     .init = init_xen_timer,
     .resume = resume_xen_timer,