[PATCH v3 6/7] arm64: topology: Enable ACPI/PPTT based CPU topology.
From: Lorenzo Pieralisi <hidden>
Date: 2017-10-20 09:22:11
Also in:
linux-acpi, linux-pm, lkml
On Thu, Oct 19, 2017 at 11:54:22AM -0500, Jeremy Linton wrote: [...]
quoted
quoted
+ cpu_topology[cpu].core_id = topology_id; + topology_id = setup_acpi_cpu_topology(cpu, 2); + cpu_topology[cpu].cluster_id = topology_id; + topology_id = setup_acpi_cpu_topology(cpu, max_topo);If you want a package id (that's just a package tag to group cores), you should not use a large level because you know how setup_acpi_cpu_topology()works, you should add an API that allows you to retrieve the package id (so that you can use th ACPI_PPTT_PHYSICAL_PACKAGE flag consistenly, whatever it represents).I don't think the spec requires the use of PHYSICAL_PACKAGE... Am I misreading it? Which means we need to "pick" a node level to represent the physical package if one doesn't exist...
The specs define a means to detect if a given PPTT node corresponds to a package (I am refraining from stating again that to me that's not clean cut what a package is _architecturally_, I think you know my POV by now) and that's what you need to use to retrieve a packageid for a given cpu, if I understand the aim of the physical package flag. Either that or that flag is completely useless. Lorenzo ACPI 6.2 - Table 5-151 (page 248) Physical package ----------------- Set to 1 if this node of the processor topology represents the boundary of a physical package, whether socketed or surface mounted. Set to 0 if this instance of the processor topology does not represent the boundary of a physical package.