|
[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 |