mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [RESEND PATCH v1] x86/cpu/topology: Consolidate AMD and Hygon cases in parse_topology()
@ 2026-03-23  8:07 Wei Wang
  2026-03-23 14:29 ` Yongwei Xu
  0 siblings, 1 reply; 2+ messages in thread
From: Wei Wang @ 2026-03-23  8:07 UTC (permalink / raw)
  To: bp, tglx, mingo, ludloff, xuyongwei, dave.hansen, pawan.kumar.gupta
  Cc: x86, linux-kernel, wei.w.wang

Merge the two separate switch cases for AMD and Hygon as they share the
common cpu_parse_topology_amd().

Also drop the IS_ENABLED(CONFIG_CPU_SUP_AMD/HYGON) guards, because
1) they are dead code: when a vendor's CONFIG_CPU_SUP_* is disabled, its
   vendor detection code (in amd.c / hygon.c) is not compiled, so
   x86_vendor will never be set to X86_VENDOR_AMD / X86_VENDOR_HYGON,
   instead it will default to X86_VENDOR_UNKNOWN and those switch cases
   are unreachable.
2) topology_amd.o is always built (obj-y), so cpu_parse_topology_amd() is
   always available regardless of CPU_SUP_* configuration.

Signed-off-by: Wei Wang <wei.w.wang@hotmail.com>
Tested-by: Yongwei Xu <xuyongwei@open-hieco.net>
---
RESEND changes
- Add Tested-by from Yongwei
- Rebase to 7.0.0-rc4

 arch/x86/kernel/cpu/topology_common.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kernel/cpu/topology_common.c b/arch/x86/kernel/cpu/topology_common.c
index 71625795d711..d0d79d5b8eb9 100644
--- a/arch/x86/kernel/cpu/topology_common.c
+++ b/arch/x86/kernel/cpu/topology_common.c
@@ -157,8 +157,8 @@ static void parse_topology(struct topo_scan *tscan, bool early)
 
 	switch (c->x86_vendor) {
 	case X86_VENDOR_AMD:
-		if (IS_ENABLED(CONFIG_CPU_SUP_AMD))
-			cpu_parse_topology_amd(tscan);
+	case X86_VENDOR_HYGON:
+		cpu_parse_topology_amd(tscan);
 		break;
 	case X86_VENDOR_CENTAUR:
 	case X86_VENDOR_ZHAOXIN:
@@ -170,10 +170,6 @@ static void parse_topology(struct topo_scan *tscan, bool early)
 		if (c->cpuid_level >= 0x1a)
 			c->topo.cpu_type = cpuid_eax(0x1a);
 		break;
-	case X86_VENDOR_HYGON:
-		if (IS_ENABLED(CONFIG_CPU_SUP_HYGON))
-			cpu_parse_topology_amd(tscan);
-		break;
 	}
 }
 

base-commit: 785f0eb2f85decbe7c1ef9ae922931f0194ffc2e
-- 
2.51.0


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

* Re: [RESEND PATCH v1] x86/cpu/topology: Consolidate AMD and Hygon cases in parse_topology()
  2026-03-23  8:07 [RESEND PATCH v1] x86/cpu/topology: Consolidate AMD and Hygon cases in parse_topology() Wei Wang
@ 2026-03-23 14:29 ` Yongwei Xu
  0 siblings, 0 replies; 2+ messages in thread
From: Yongwei Xu @ 2026-03-23 14:29 UTC (permalink / raw)
  To: Wei Wang, bp, tglx, mingo, ludloff, dave.hansen, pawan.kumar.gupta
  Cc: x86, linux-kernel

On 3/23/2026 4:07 PM, Wei Wang wrote:

> Merge the two separate switch cases for AMD and Hygon as they share the
> common cpu_parse_topology_amd().
>
> Also drop the IS_ENABLED(CONFIG_CPU_SUP_AMD/HYGON) guards, because
> 1) they are dead code: when a vendor's CONFIG_CPU_SUP_* is disabled, its
>     vendor detection code (in amd.c / hygon.c) is not compiled, so
>     x86_vendor will never be set to X86_VENDOR_AMD / X86_VENDOR_HYGON,
>     instead it will default to X86_VENDOR_UNKNOWN and those switch cases
>     are unreachable.
> 2) topology_amd.o is always built (obj-y), so cpu_parse_topology_amd() is
>     always available regardless of CPU_SUP_* configuration.
>
> Signed-off-by: Wei Wang <wei.w.wang@hotmail.com>
> Tested-by: Yongwei Xu <xuyongwei@open-hieco.net>

Tested on AMD Genoa and Hygon 7447v servers. Kernel builds and boots

normally, and no regressions found!

> ---
> RESEND changes
> - Add Tested-by from Yongwei
> - Rebase to 7.0.0-rc4
>
>   arch/x86/kernel/cpu/topology_common.c | 8 ++------
>   1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/topology_common.c b/arch/x86/kernel/cpu/topology_common.c
> index 71625795d711..d0d79d5b8eb9 100644
> --- a/arch/x86/kernel/cpu/topology_common.c
> +++ b/arch/x86/kernel/cpu/topology_common.c
> @@ -157,8 +157,8 @@ static void parse_topology(struct topo_scan *tscan, bool early)
>   
>   	switch (c->x86_vendor) {
>   	case X86_VENDOR_AMD:
> -		if (IS_ENABLED(CONFIG_CPU_SUP_AMD))
> -			cpu_parse_topology_amd(tscan);
> +	case X86_VENDOR_HYGON:
> +		cpu_parse_topology_amd(tscan);
>   		break;
>   	case X86_VENDOR_CENTAUR:
>   	case X86_VENDOR_ZHAOXIN:
> @@ -170,10 +170,6 @@ static void parse_topology(struct topo_scan *tscan, bool early)
>   		if (c->cpuid_level >= 0x1a)
>   			c->topo.cpu_type = cpuid_eax(0x1a);
>   		break;
> -	case X86_VENDOR_HYGON:
> -		if (IS_ENABLED(CONFIG_CPU_SUP_HYGON))
> -			cpu_parse_topology_amd(tscan);
> -		break;
>   	}
>   }
>   
>
> base-commit: 785f0eb2f85decbe7c1ef9ae922931f0194ffc2e

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

end of thread, other threads:[~2026-03-23 14:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-03-23  8:07 [RESEND PATCH v1] x86/cpu/topology: Consolidate AMD and Hygon cases in parse_topology() Wei Wang
2026-03-23 14:29 ` Yongwei Xu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®