[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/2] x86/time: report correct frequency of Xen PV clocksource
On Tue, Feb 04, 2020 at 03:40:25PM +0000, Igor Druzhinin wrote: > 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@xxxxxxxxxx> Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> With one nit below. > --- > xen/arch/x86/time.c | 17 +---------------- > 1 file changed, 1 insertion(+), 16 deletions(-) > > diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c > index 7e7a62e..95840c4 100644 > --- a/xen/arch/x86/time.c > +++ b/xen/arch/x86/time.c > @@ -567,27 +567,12 @@ static struct platform_timesource __initdata plt_tsc = > */ > static uint64_t xen_timer_last; > > -static uint64_t xen_timer_cpu_frequency(void) > -{ > - struct vcpu_time_info *info = &this_cpu(vcpu_info)->time; > - uint64_t freq; > - > - freq = 1000000000ULL << 32; > - do_div(freq, info->tsc_to_system_mul); > - if ( info->tsc_shift < 0 ) > - freq <<= -info->tsc_shift; > - else > - freq >>= info->tsc_shift; > - > - return freq; > -} > - > static int64_t __init init_xen_timer(struct platform_timesource *pts) > { > if ( !xen_guest ) > return 0; > > - pts->frequency = xen_timer_cpu_frequency(); > + pts->frequency = 1000000000ULL; You can init this field below at declaration, since it's a static value. Thanks, Roger. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |