Re: [RFC] x86, tsc: Add kcmdline args for skipping tsc calibration sequences

From: Arjan van de Ven
Date: Fri Jul 13 2018 - 15:40:45 EST


On 7/13/2018 12:19 PM, patrickg wrote:
This RFC patch is intended to allow bypass CPUID, MSR and QuickPIT calibration methods should the user desire to.

The current ordering in ML x86 tsc is to calibrate in the order listed above; returning whenever there's a successful calibration. However there are certain BIOS/HW Designs for overclocking that cause the TSC to change along with the max core clock; and simple 'trusting' calibration methodologies will lead to the TSC running 'faster' and eventually, TSC instability.



that would be a real violation of the contract between cpu and OS: tsc is not supposed to change for the duration of the boot

I only know that there's a use-case for me to want to be able to skip CPUID calibration, however I included args for skipping all the rest just so that all functionality is covered in the long run instead of just one use-case.

wouldn't it be better to start the detailed calibration with the value from CPUID instead; that way we also properly calibrate spread spectrum etc...

I thought we switched to that recently to be honest...