Re: Re: [PATCH 1/2] x86/tsc: add X86_FEATURE_TSC_KNOWN_FREQ flag

From: Bin Gao
Date: Thu Nov 10 2016 - 17:45:46 EST


> > --- a/arch/x86/kernel/tsc.c
> > +++ b/arch/x86/kernel/tsc.c
> > @@ -1283,10 +1283,10 @@ static int __init init_tsc_clocksource(void)
> > clocksource_tsc.flags |= CLOCK_SOURCE_SUSPEND_NONSTOP;
> >
> > /*
> > - * Trust the results of the earlier calibration on systems
> > - * exporting a reliable TSC.
> > + * When TSC frequency is known (generally got by MSR or CPUID), we skip
> > + * the refined calibration and directly register it as a clocksource.
> > */
> > - if (boot_cpu_has(X86_FEATURE_TSC_RELIABLE)) {
> > + if (boot_cpu_has(X86_FEATURE_TSC_KNOWN_FREQ)) {
>
> This causes a regression, because with only this patch applied the architectures which use the reliable flag for this today are not longer taking this path.
>
> The proper thing to do here is to make this:
>
> if (boot_cpu_has(X86_FEATURE_TSC_RELIABLE) ||
> boot_cpu_has(X86_FEATURE_TSC_KNOWN_FREQ)) {
>
> and remove the RELIABLE flag ckeck after the existing users are converted.

I Will fix this in next revision.

> Thanks,
>
> tglx
>