Re: [PATCH 1/2] x86/cpu/hygon: Introduce macros for hygon family numbers
Guo Chaohong <[email protected]>
| Newsgroups | org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 8/5/2026 1:53 AM, Ingo Molnar wrote: > * Guo Chaohong <[email protected]> wrote: > >> hi, Ingo, >> >> >> Hygon model 7 CPUs have either 4 or 6 dies. All 6‑die variants share the >> same interconnect topology. >> The Hygon‑4G family includes several model numbers, not just model 7. The >> 3‑series CPUs are designed >> for desktop/workstation use and are only available in single‑socket systems. >> >> The following is a summary of key Hygon models: >> >> Model Name Cores / Threads Clock Speed Target Segment Model >> Number >> 7447V 96 / 192 ~2.6 GHz Enterprise / Cloud >> Server 7 >> 7490H 96 / 192 — High‑Density Server >> 7 (now 7446) >> 7490 64 / 128 2.7 GHz Enterprise Serve >> 4 >> 7470 48 / 96 — Enterprise Server >> 4 >> >> Therefore, we will restrict this patch to apply only to model 7 CPUs that >> have 6 dies on a multi‑socket >> system and add sched domains topology after the change into commit message >> in the V2 patch. > Understood - but my point is that the "HYGON_7447V" symbol name > is inaccurate: > > +#define HYGON_F18_M07 HFM(0x18, 7) > + > +#define HYGON_7447V HYGON_F18_M07 > > Note how 'HYGON_7447V' also covers 7490H/7446. > > IMHO it will be less confusing if you skip the HYGON_7447V interim > symbol and just use HYGON_F18_M07 in arch_sched_node_distance(), > and add a comment that clarifies that the additional conditions > basically filter for the 7447V variant. > > Or if you want a clean 7447V enumeration function, add it as > an inline function and use that in arch_sched_node_distance(). > > Both approaches would be acceptable. I will remove 7447V macro from the head file, and just use HYGON_F10_M07, and add comments in arch_sched_node_distance() like this: case HYGON_F18_M07: /* * Hygon model 7 CPUs have either 4 or 6 compute dies (aka CDD). All * 6‑die variants share the same interconnect topology. Apply remote * socket distance averaging if the CPU exposes 6 dies when NPS is * enabled. */ if (topology_num_nodes_per_package() >= 6) d = slit_cluster_distance(from, to); break; > Thanks, > > Ingo