Re: [patch v5 00/19] x86/cpu: Rework topology evaluation

From: Zhang, Rui
Date: Wed Jan 31 2024 - 02:40:30 EST


Hi, Thomas,

Wendy and I have tested all the three patch sets on a couple of
platforms, except the issue raised, no other problem is observed.

Tested-by: Zhang Rui <rui.zhang@xxxxxxxxx>
Tested-by: Wang Wendy <wendy.wang@xxxxxxxxx>

BTW, one behavior change in this patch series is that die_id become
platform unique instead of package unique.
By my understanding, this won't break any kernel user, but we have some
redundant code left where we compare both package id and die id. for
example, in match_smt(),

if (c->topo.pkg_id == o->topo.pkg_id &&
c->topo.die_id == o->topo.die_id &&
c->topo.core_id == o->topo.core_id) {
return topology_sane(c, o, "smt");
}

thanks,
rui


On Tue, 2024-01-23 at 13:53 +0100, Thomas Gleixner wrote:
> This is a follow up on V4 of this work:
>
>   https://lore.kernel.org/all/20230814085006.593997112@xxxxxxxxxxxxx
>
> and contains only the not yet applied part which reworks the CPUID
> parsing. This is also preparatory work for the general overhaul of
> APIC ID
> enumeration and management.
>
> Changes vs. V4:
>
>   - Add DIEGRP level explicitly
>
> This applies on Linus tree and is available from git:
>
>   git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git topo-
> cpuid-v5
>
> Thanks,
>
>         tglx
> ---
>  arch/x86/kernel/cpu/topology.c          |  167 ---------------------
> -
>  b/arch/x86/events/amd/core.c            |    2
>  b/arch/x86/include/asm/apic.h           |    1
>  b/arch/x86/include/asm/cpuid.h          |   36 ++++
>  b/arch/x86/include/asm/processor.h      |    5
>  b/arch/x86/include/asm/topology.h       |   39 +++++
>  b/arch/x86/kernel/amd_nb.c              |    4
>  b/arch/x86/kernel/apic/apic_flat_64.c   |    7
>  b/arch/x86/kernel/apic/apic_noop.c      |    3
>  b/arch/x86/kernel/apic/apic_numachip.c  |    7
>  b/arch/x86/kernel/apic/bigsmp_32.c      |    6
>  b/arch/x86/kernel/apic/local.h          |    1
>  b/arch/x86/kernel/apic/probe_32.c       |    6
>  b/arch/x86/kernel/apic/x2apic_cluster.c |    1
>  b/arch/x86/kernel/apic/x2apic_phys.c    |    6
>  b/arch/x86/kernel/apic/x2apic_uv_x.c    |   63 +-------
>  b/arch/x86/kernel/cpu/Makefile          |    3
>  b/arch/x86/kernel/cpu/amd.c             |  146 -------------------
>  b/arch/x86/kernel/cpu/cacheinfo.c       |    6
>  b/arch/x86/kernel/cpu/centaur.c         |    4
>  b/arch/x86/kernel/cpu/common.c          |   91 +-----------
>  b/arch/x86/kernel/cpu/cpu.h             |   13 -
>  b/arch/x86/kernel/cpu/debugfs.c         |   40 +++++
>  b/arch/x86/kernel/cpu/hygon.c           |  129 -----------------
>  b/arch/x86/kernel/cpu/intel.c           |   25 ---
>  b/arch/x86/kernel/cpu/mce/amd.c         |    4
>  b/arch/x86/kernel/cpu/mce/inject.c      |    7
>  b/arch/x86/kernel/cpu/topology.h        |   56 +++++++
>  b/arch/x86/kernel/cpu/topology_amd.c    |  182
> ++++++++++++++++++++++++
>  b/arch/x86/kernel/cpu/topology_common.c |  241
> ++++++++++++++++++++++++++++++++
>  b/arch/x86/kernel/cpu/topology_ext.c    |  130 +++++++++++++++++
>  b/arch/x86/kernel/cpu/zhaoxin.c         |    4
>  b/arch/x86/kernel/smpboot.c             |   12 +
>  b/arch/x86/kernel/vsmp_64.c             |   13 -
>  b/arch/x86/mm/amdtopology.c             |   35 ++--
>  b/arch/x86/xen/apic.c                   |    6
>  b/arch/x86/xen/smp_pv.c                 |    3
>  b/drivers/edac/amd64_edac.c             |    4
>  b/drivers/edac/mce_amd.c                |    4
>  39 files changed, 792 insertions(+), 720 deletions(-)
>
>