[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3/5] x86/time: streamline platform time init on plt_init()
On 17/03/16 16:12, Joao Martins wrote: > And use to initialize platform time solely for clocksource=tsc, > as opposed to initializing platform overflow timer, which would > only fire in ~180 years (on 2.2 Ghz Broadwell processor). > > Signed-off-by: Joao Martins <joao.m.martins@xxxxxxxxxx> Again, just style corrections. Reviewed-by Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c > index 1311c58..5af8902 100644 > --- a/xen/arch/x86/time.c > +++ b/xen/arch/x86/time.c > @@ -434,6 +434,7 @@ uint64_t ns_to_acpi_pm_tick(uint64_t ns) > /************************************************************ > * PLATFORM TIMER 4: TSC > */ > +static bool_t clocksource_is_tsc = 0; No need to explicitly initialise to 0. > static u64 tsc_freq; > static unsigned long tsc_max_warp; > static void tsc_check_reliability(void); > @@ -466,7 +467,7 @@ static int __init init_tsctimer(struct > platform_timesource *pts) > } > > pts->frequency = tsc_freq; > - return tsc_reliable; > + return ( clocksource_is_tsc = tsc_reliable ); While this does work, please avoid mixing an assignment and a return. Something like pts->frequency = tsc_freq; clocksource_is_tsc = tsc_reliable; return tsc_reliable; is fine and easier logic to read. > @@ -633,11 +648,22 @@ static void __init init_platform_timer(void) > > set_time_scale(&plt_scale, pts->frequency); > > - plt_overflow_period = scale_delta( > - 1ull << (pts->counter_bits-1), &plt_scale); > - init_timer(&plt_overflow_timer, plt_overflow, NULL, 0); > plt_src = *pts; > - plt_overflow(NULL); > + > + if ( clocksource_is_tsc ) > + { > + plt_init(); > + } > + else > + { > + plt_overflow_period = scale_delta( > + 1ull << (pts->counter_bits-1), &plt_scale); As you are moving this codeblock, please fix the style to (pts->counter_bits - 1) ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |