[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171020092210.GB21060@red-moon>
Date: Fri, 20 Oct 2017 10:22:10 +0100
From: Lorenzo Pieralisi <lorenzo.pieralisi@....com>
To: Jeremy Linton <jeremy.linton@....com>
Cc: linux-acpi@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
sudeep.holla@....com, hanjun.guo@...aro.org, rjw@...ysocki.net,
will.deacon@....com, catalin.marinas@....com,
gregkh@...uxfoundation.org, viresh.kumar@...aro.org,
mark.rutland@....com, linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org, jhugo@...eaurora.org,
wangxiongfeng2@...wei.com, Jonathan.Zhang@...ium.com,
ahs3@...hat.com, Jayachandran.Nair@...ium.com,
austinwc@...eaurora.org
Subject: Re: [PATCH v3 6/7] arm64: topology: Enable ACPI/PPTT based CPU
topology.
On Thu, Oct 19, 2017 at 11:54:22AM -0500, Jeremy Linton wrote:
[...]
> >>+ 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.
Powered by blists - more mailing lists