[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181002180144.636925675@stormcage.americas.sgi.com>
Date: Tue, 02 Oct 2018 13:01:44 -0500
From: Mike Travis <mike.travis@....com>
To: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>
Cc: Hedi Berriche <hedi.berriche@....com>,
Russ Anderson <russ.anderson@....com>,
Dimitri Sivanich <dimitri.sivanich@....com>,
Borislav Petkov <bp@...en8.de>,
Kate Stewart <kstewart@...uxfoundation.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Philippe Ombredanne <pombredanne@...b.com>,
Pavel Tatashin <pasha.tatashin@...cle.com>,
Peter Zijlstra <peterz@...radead.org>,
Len Brown <len.brown@...el.com>,
Dou Liyang <douly.fnst@...fujitsu.com>,
Xiaoming Gao <gxm.linux.kernel@...il.com>,
Rajvi Jingar <rajvi.jingar@...el.com>,
linux-kernel@...r.kernel.org, x86@...nel.org
Subject: [PATCH 0/2] Fix TSC ADJUST breakage causing TSC failure
Fix a breakage caused by enabling early tsc initialization which bypasses
a check that disables the forcing of TSC ADJUST to 0 for chassis 0.
This is common on systems where all the chassis start up asynchronously
so which chassis should have a TSC ADJUST value of 0 is not predictable.
The solution is to add a check earlier than this early tsc init to
disable the potential of it incorrectly adjusting TSC ADJUST values that
are already correctly initialized.
* Patch 1 adds an early callable function (after efi_init) that will
check if this system might be a UV system.
* Patch 2 adds code to tsc_early_init() which disables adjusting the
TSC ADJUST value if it's a UV system. This allows the later tsc_init
function to test the tsc_async_resets flag that indicates the system
chassis start up asynchronously, so which chassis should have a TSC
ADJUST value of 0 is not predictable. Further references are in
the patch.
--
Powered by blists - more mailing lists