public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1] x86/cpu/tsx: Change the TSX default from "off" to "auto"
@ 2020-05-06 22:14 Nelson D'Souza
  2020-05-07  1:11 ` Thomas Gleixner
  0 siblings, 1 reply; 2+ messages in thread
From: Nelson D'Souza @ 2020-05-06 22:14 UTC (permalink / raw)
  To: tglx, bp; +Cc: mingo, x86, hpa, linux-kernel, Tony Luck

There are now several commercially available processors that have h/w
fixes for the TSX Async Abort (TAA) issue as indicated by enumerating
the ARCH_CAPABILITIES "TAA_NO" bit.

Change the default setting to "auto" so that these CPUs will leave
TSX enabled by default.

This can still be overridden by the kernel cmdline parameter
tsx=on|off|auto

Signed-off-by: Nelson D'Souza <nelson.dsouza@linux.intel.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
---
 arch/x86/Kconfig | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 1d6104ea8af0..b444205c964a 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1905,7 +1905,7 @@ config X86_INTEL_MEMORY_PROTECTION_KEYS
 choice
 	prompt "TSX enable mode"
 	depends on CPU_SUP_INTEL
-	default X86_INTEL_TSX_MODE_OFF
+	default X86_INTEL_TSX_MODE_AUTO
 	help
 	  Intel's TSX (Transactional Synchronization Extensions) feature
 	  allows to optimize locking protocols through lock elision which
@@ -1915,8 +1915,13 @@ choice
 	  to form side channel attacks (e.g. TAA) and chances are there
 	  will be more of those attacks discovered in the future.
 
-	  Therefore TSX is not enabled by default (aka tsx=off). An admin
-	  might override this decision by tsx=on the command line parameter.
+	  The default setting for TSX Mode is set to auto. This will enable
+	  TSX feature for platforms that are not vulnerable to the TAA issue.
+
+	  TSX feature will continue to be disabled on platforms that are
+	  vulnerable to TAA and support disabling TSX via the updated microcode.
+
+	  An admin might override this decision by a kernel command line parameter.
 	  Even with TSX enabled, the kernel will attempt to enable the best
 	  possible TAA mitigation setting depending on the microcode available
 	  for the particular machine.
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v1] x86/cpu/tsx: Change the TSX default from "off" to "auto"
  2020-05-06 22:14 [PATCH v1] x86/cpu/tsx: Change the TSX default from "off" to "auto" Nelson D'Souza
@ 2020-05-07  1:11 ` Thomas Gleixner
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Gleixner @ 2020-05-07  1:11 UTC (permalink / raw)
  To: Nelson D'Souza, bp; +Cc: mingo, x86, hpa, linux-kernel, Tony Luck

Nelson D'Souza <nelson.dsouza@linux.intel.com> writes:
> There are now several commercially available processors that have h/w
> fixes for the TSX Async Abort (TAA) issue as indicated by enumerating
> the ARCH_CAPABILITIES "TAA_NO" bit.
>
> Change the default setting to "auto" so that these CPUs will leave
> TSX enabled by default.

You are telling WHAT the patch does, but not the WHY.

It's completely uninteresting whether TAA is fixed in a particular CPU
simply because:

   1) TAA is only one particular issue of TSX.

   2) The main use case for TSX is to accelerate all sorts of
      speculation attacks and other malignances

   3) There is excatly ONE known use case which cares about TSX and we
      already discussed to death that the machines on which that use
      case runs have admins which are capable of adding tsx=on on the
      command line.

So unless you come up with some really convincing argument why this
should be changed, this is not going to happen.

Thanks,

        tglx





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-05-07  1:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-06 22:14 [PATCH v1] x86/cpu/tsx: Change the TSX default from "off" to "auto" Nelson D'Souza
2020-05-07  1:11 ` Thomas Gleixner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox