Patch "x86/CPU/AMD: Fix Zen SMT topology" has been added to the 4.9-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
x86/CPU/AMD: Fix Zen SMT topology
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
x86-cpu-amd-fix-zen-smt-topology.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
08b259631b5a1d912af4832847b5642f377d9101Mon Sep 17 00:00:00 2001
From: Yazen Ghannam <[email protected]>
Date: Sun, 5 Feb 2017 11:50:22 +0100
Subject: x86/CPU/AMD: Fix Zen SMT topology
From: Yazen Ghannam <[email protected]>
commit 08b259631b5a1d912af4832847b5642f377d9101 upstream.
After:
a33d331761bc ("x86/CPU/AMD: Fix Bulldozer topology")
our SMT scheduling topology for Fam17h systems is broken, because the ThreadId is included in the ApicId when SMT is enabled.
So, without further decoding cpu_core_id is unique for each thread rather than the same for threads on the same core. This didn't affect systems with SMT disabled. Make cpu_core_id be what it is defined to be.
--- arch/x86/kernel/cpu/amd.c | 7 +++++++ 1 file changed, 7 insertions(+)
arch/x86/kernel/cpu/amd.c +7 -0
@@ -319,6 +319,13 @@ static void amd_get_topology(struct cpuiif (c->x86 ==0x15 ) c->cu_id = ebx &0xff ; +if (c->x86 >=0x17 ) { + c->cpu_core_id = ebx &0xff ; + +if (smp_num_siblings >1 ) + c->x86_max_cores /= smp_num_siblings; + } +/* * We may have multiple LLCs if L3 caches exist, so check if we * have an L3 cache by looking at the L3 cache CPUID leaf.
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/x86-cpu-amd-fix-zen-smt-topology.patch