Blob Blame History Raw
From 01552a363e869f7a00b8d1727b482ad188ee59b2 Mon Sep 17 00:00:00 2001
From: Michal Suchanek <msuchanek@suse.de>
Date: Mon, 18 Feb 2019 13:46:11 +0100
Subject: [PATCH 4/4] powerpc/tm: Flip the HTM switch default to disabled.

References: bsc#1125580, jsc#SLE-16056
Patch-mainline: no, not needed

On POWER10 transactional memory is no longer supported.
On POWER9 transacional memory is not fully functional in hardware and
requires partial emulation by hypervisor which does not give the
expected performance.
This makes POWER8 the only platform that fully supports HTM. Even there
it is not fully stable with the latest upstream code.

In light of this users should not rely on HTM. Just disable it. Leave
the option to enable it on platforms that still support it for now.

Signed-off-by: Michal Suchanek <msuchanek@suse.de>
---
 Documentation/admin-guide/kernel-parameters.txt | 2 +-
 arch/powerpc/kernel/prom.c          | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -3663,8 +3663,8 @@
 			There is some performance impact when enabling this.
 
 	ppc_tm=		[PPC]
-			Format: {"off"}
-			Disable Hardware Transactional Memory
+			Format: {"on"}
+			Enable Hardware Transactional Memory
 
 	preempt=	[KNL]
 			Select preemption mode if you have CONFIG_PREEMPT_DYNAMIC
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index bbd3f0967163..44708ce4be89 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -650,7 +650,7 @@ static void __init early_reserve_mem(void)
 }
 
 #ifdef CONFIG_PPC_TRANSACTIONAL_MEM
-static bool tm_disabled __initdata;
+static bool tm_disabled __initdata = true;
 
 static int __init parse_ppc_tm(char *str)
 {
-- 
2.20.1