linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] x86/amd: disable way access filter on affected CPUs
@ 2012-10-24  7:56 Andre Przywara
  2012-10-24 10:46 ` Ingo Molnar
  0 siblings, 1 reply; 6+ messages in thread
From: Andre Przywara @ 2012-10-24  7:56 UTC (permalink / raw)
  To: hpa, tglx, mingo; +Cc: linux-kernel, andreas.herrmann3, Andre Przywara

The WAF may hurt the performance of some workloads, caused by
aliasing issues in the L1 cache.
Disable it on the affected CPUs.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
---
 arch/x86/kernel/cpu/amd.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index f7e98a2..1b7d165 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -631,6 +631,20 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
 		}
 	}
 
+	/*
+	 * The way access filter has a performance penalty on some workloads.
+	 * Disable it on the affected CPUs.
+	 */
+	if ((c->x86 == 0x15) &&
+	    (c->x86_model >= 0x02) && (c->x86_model < 0x20)) {
+		u64 val;
+
+		if (!rdmsrl_safe(0xc0011021, &val) && !(val & 0x1E)) {
+			val |= 0x1E;
+			wrmsrl_safe(0xc0011021, val);
+		}
+	}
+
 	cpu_detect_cache_sizes(c);
 
 	/* Multi core CPU? */
-- 
1.7.12.1



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

end of thread, other threads:[~2012-11-01 21:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-24  7:56 [PATCH] x86/amd: disable way access filter on affected CPUs Andre Przywara
2012-10-24 10:46 ` Ingo Molnar
2012-10-24 15:35   ` Andre Przywara
2012-10-26 14:56     ` Ingo Molnar
2012-10-31 16:20       ` Andre Przywara
2012-11-01 21:33         ` [tip:x86/urgent] x86, amd: Disable way access filter on Piledriver CPUs tip-bot for Andre Przywara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).