x86/tsc: Drastically reduce the number of firmware bug warnings
Prior to the TSC ADJUST MSR being available, the method to set TSC's in sync with each other naturally caused a small skew between cpu threads. This was NOT a firmware bug at the time so introducing a whole avalanche of alarming warning messages might cause unnecessary concern and customer complaints. (Example: >3000 msgs in a 32 socket Skylake system.) Simply report the warning condition, if possible do the necessary fixes, and move on. Signed-off-by: Mike Travis <mike.travis@hpe.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Dimitri Sivanich <dimitri.sivanich@hpe.com> Reviewed-by: Russ Anderson <russ.anderson@hpe.com> Reviewed-by: Peter Zijlstra <peterz@infradead.org> Cc: Prarit Bhargava <prarit@redhat.com> Cc: Andrew Banman <andrew.banman@hpe.com> Cc: Bin Gao <bin.gao@linux.intel.com> Link: https://lkml.kernel.org/r/20171012163202.175062400@stormcage.americas.sgi.com
This commit is contained in:
Родитель
9514ececa5
Коммит
41e7864ab5
|
@ -177,10 +177,9 @@ bool tsc_store_and_check_tsc_adjust(bool bootcpu)
|
|||
* Compare the boot value and complain if it differs in the
|
||||
* package.
|
||||
*/
|
||||
if (bootval != ref->bootval) {
|
||||
pr_warn(FW_BUG "TSC ADJUST differs: Reference CPU%u: %lld CPU%u: %lld\n",
|
||||
refcpu, ref->bootval, cpu, bootval);
|
||||
}
|
||||
if (bootval != ref->bootval)
|
||||
printk_once(FW_BUG "TSC ADJUST differs within socket(s), fixing all errors\n");
|
||||
|
||||
/*
|
||||
* The TSC_ADJUST values in a package must be the same. If the boot
|
||||
* value on this newly upcoming CPU differs from the adjustment
|
||||
|
@ -188,8 +187,6 @@ bool tsc_store_and_check_tsc_adjust(bool bootcpu)
|
|||
* adjusted value.
|
||||
*/
|
||||
if (bootval != ref->adjusted) {
|
||||
pr_warn("TSC ADJUST synchronize: Reference CPU%u: %lld CPU%u: %lld\n",
|
||||
refcpu, ref->adjusted, cpu, bootval);
|
||||
cur->adjusted = ref->adjusted;
|
||||
wrmsrl(MSR_IA32_TSC_ADJUST, ref->adjusted);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче