diff options
author | Peter Zijlstra (Intel) <peterz@infradead.org> | 2019-03-05 22:23:18 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-03-13 14:03:23 -0700 |
commit | d7ec8d8cc95f2899e7047fb5eda53d7f48553ffe (patch) | |
tree | 572641723552deee935c30b208196b662b5de509 /drivers/platform/x86 | |
parent | 0e6487a0c7a8099231e0c14312a31efcf5f38e4e (diff) | |
download | linux-stable-d7ec8d8cc95f2899e7047fb5eda53d7f48553ffe.tar.gz linux-stable-d7ec8d8cc95f2899e7047fb5eda53d7f48553ffe.tar.bz2 linux-stable-d7ec8d8cc95f2899e7047fb5eda53d7f48553ffe.zip |
perf/x86/intel: Implement support for TSX Force Abort
commit 400816f60c543153656ac74eaf7f36f6b7202378 upstream
Skylake (and later) will receive a microcode update to address a TSX
errata. This microcode will, on execution of a TSX instruction
(speculative or not) use (clobber) PMC3. This update will also provide
a new MSR to change this behaviour along with a CPUID bit to enumerate
the presence of this new MSR.
When the MSR gets set; the microcode will no longer use PMC3 but will
Force Abort every TSX transaction (upon executing COMMIT).
When TSX Force Abort (TFA) is allowed (default); the MSR gets set when
PMC3 gets scheduled and cleared when, after scheduling, PMC3 is
unused.
When TFA is not allowed; clear PMC3 from all constraints such that it
will not get used.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/platform/x86')
0 files changed, 0 insertions, 0 deletions