Re: [PATCH PATCH 1/9] x86/cpu/topology: Add x86_cpu_type to struct cpuinfo_topology
From: Dave Hansen
Date: Tue Jun 18 2024 - 18:03:43 EST
On 6/18/24 14:33, Mario Limonciello wrote:
>> +enum x86_topo_cpu_type {
>> + X86_CPU_TYPE_UNKNOWN = 0,
>> + X86_CPU_TYPE_INTEL_ATOM = 0x20,
>> + X86_CPU_TYPE_INTEL_CORE = 0x40,
>> +};
>> +
...
> What do you think about having a common enum rather with words that are
> marketing strings?
They're not really marketing strings. They really are architectural and
have specific functional meaning just like ->x86_model and ->x86_family.
For instance, we are effectively doing this today:
if (c->cpu_x86_vfm == INTEL_ALDER_LAKE &&
c->cpu_type == X86_CPU_TYPE_INTEL_ATOM)
setup_force_cpu_bug(FOO);
That check is truly specific to the core being an "ATOM" and not being
an efficient core. There might be a future non-Atom efficient CPU or a
future non-Core performance CPU.
We very well might have a use in the future to tag a processor as
"efficient" or "performance" in a vendor-neutral manner. That mechanism
could very well be derived from ->cpu_type. But I think that's actually
independent from Pawan's series.