Re: [PATCH] x86/tsc: Add tsc_tuned_baseclk flag disabling CPUID.16h use for tsc calibration
From: Krzysztof Piecuch <hidden>
Date: 2020-01-20 14:20:14
Also in:
lkml
From: Krzysztof Piecuch <hidden>
Date: 2020-01-20 14:20:14
Also in:
lkml
On Monday, January 20, 2020 1:42 PM, Thomas Gleixner [off-list ref] wrote:
Simply because all of this is horribly fragile and if you put virt into the picture it gets even worse. The initial calibration via PIT/HPET is halfways accurate in most cases and we use the 1% as a sanity check.quoted
Ideally it would be better to get the early calibration right than risk getting it wrong because of an "anomaly".Ideally we would just have a way to read the stupid frequency from some reliable place, but there is no such thing. Guess why we have all this code, surely not because we have nothing better to do than dreaming up a variety of weird ways to figure out that frequency.
Thank you for the explanation.
Widening the error window here is clearly a hack. As you have to supply a valid number there, then why not just providing the frequency itself on the command line? That would at least make most sense and would avoid to use completely wrong data in the early boot stage.
That sounds good. I'll assume that the user will be supposed to provide a flag tsc_early_hz= so that refine_calibration_work can get better numbers while still doing the 1% sanity check. I'll send a patch this week.