Re: [PATCH v2 1/9] x86/cpu/topology: Add CPU type to struct cpuinfo_topology

From: Pawan Gupta
Date: Mon Jul 08 2024 - 21:24:42 EST


On Thu, Jul 04, 2024 at 01:07:24AM +0200, Borislav Petkov wrote:
> On Fri, Jun 28, 2024 at 10:32:09AM -0700, Pawan Gupta wrote:
> > On Fri, Jun 28, 2024 at 10:03:05AM +0200, Borislav Petkov wrote:
> > > On Thu, Jun 27, 2024 at 01:44:06PM -0700, Pawan Gupta wrote:
> > > > The hw_cpu_type is populated in the below debugfs file:
> > > >
> > > > # cat /sys/kernel/debug/x86/topo/cpus/#
> > >
> > > What "below debugfs file"? A '#'?
> >
> > That is the number of the CPU. If it is causing confusion, I can will
> > change it to N, or say # means the number of the CPU.
>
> Or drop that sentence completely.

Ok.

> > > > +static void topo_set_hw_cpu_type(struct cpuinfo_x86 *c)
> > > > +{
> > > > + c->topo.hw_cpu_type = X86_HW_CPU_TYPE_UNKNOWN;
> > > > +
> > > > + if (c->x86_vendor == X86_VENDOR_INTEL && c->cpuid_level >= 0x1a)
> > > > + c->topo.hw_cpu_type = cpuid_eax(0x1a) >> X86_CPU_TYPE_INTEL_SHIFT;
> > > > +}
> > >
> > > Why isn't this happening in cpu/intel.c? And then you don't need yet
> > > another silly function.
> >
> > I was preferring to keep the topology related code in one place. Would it
> > make sense to keep it in Intel specific leg in parse_topology() as below:
>
> I guess.
>
> Although looking around this code, I wonder why is this hw_cpu_type part of
> the topology and not part of cpuinfo_x86 directly?
>
> struct cpuinfo_topology has all the IDs but the type? Feels out of place
> there.

The draft version had it in cpuinfo_x86, but it later got moved to
cpuinfo_topology as it appears to be topology related. Below is from AMD
documentation:

E.4.24 Function 8000_0026—Extended CPU Topology

CPUID Fn8000_0026 reports extended topology information for logical
processors, including asymmetric and heterogenous topology descriptions.
Individual logical processors may report different values in systems with
asynchronous and heterogeneous topologies.
https://www.amd.com/content/dam/amd/en/documents/processor-tech-docs/programmer-references/24594.pdf

I can move it back to cpuinfo_x86 if you feel strongly about it.