Patch "x86/topology: Fix duplicated core ID within a package" has been added to the 5.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    x86/topology: Fix duplicated core ID within a package

to the 5.10-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-topology-fix-duplicated-core-id-within-a-package.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 1ae276b910f750a14faa6e9be1d5132886b325d9
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date:   Fri Oct 14 17:01:47 2022 +0800

    x86/topology: Fix duplicated core ID within a package
    
    [ Upstream commit 71eac7063698b7d7b8fafb1683ac24a034541141 ]
    
    Today, core ID is assumed to be unique within each package.
    
    But an AlderLake-N platform adds a Module level between core and package,
    Linux excludes the unknown modules bits from the core ID, resulting in
    duplicate core ID's.
    
    To keep core ID unique within a package, Linux must include all APIC-ID
    bits for known or unknown levels above the core and below the package
    in the core ID.
    
    It is important to understand that core ID's have always come directly
    from the APIC-ID encoding, which comes from the BIOS. Thus there is no
    guarantee that they start at 0, or that they are contiguous.
    As such, naively using them for array indexes can be problematic.
    
    [ dhansen: un-known -> unknown ]
    
    Fixes: 7745f03eb395 ("x86/topology: Add CPUID.1F multi-die/package support")
    Suggested-by: Len Brown <len.brown@xxxxxxxxx>
    Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
    Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
    Reviewed-by: Len Brown <len.brown@xxxxxxxxx>
    Cc: stable@xxxxxxxxxxxxxxx
    Link: https://lkml.kernel.org/r/20221014090147.1836-5-rui.zhang@xxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/x86/kernel/cpu/topology.c b/arch/x86/kernel/cpu/topology.c
index 696309749d62..37d48ab3d077 100644
--- a/arch/x86/kernel/cpu/topology.c
+++ b/arch/x86/kernel/cpu/topology.c
@@ -141,7 +141,7 @@ int detect_extended_topology(struct cpuinfo_x86 *c)
 		sub_index++;
 	}
 
-	core_select_mask = (~(-1 << core_plus_mask_width)) >> ht_mask_width;
+	core_select_mask = (~(-1 << pkg_mask_width)) >> ht_mask_width;
 	die_select_mask = (~(-1 << die_plus_mask_width)) >>
 				core_plus_mask_width;
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux