From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lorenzo Pieralisi Subject: Re: [RFC PATCH] Documentation: DT: arm: Add topology property to define package boundaries Date: Thu, 8 Feb 2018 10:57:02 +0000 Message-ID: <20180208105702.GA1179@e107981-ln.cambridge.arm.com> References: <20180122171534.7681-1-lorenzo.pieralisi@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Frank Rowand Cc: Mark Rutland , devicetree@vger.kernel.org, Jeremy Linton , Rob Herring , Sudeep Holla , Morten Rasmussen , linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org On Mon, Jan 22, 2018 at 08:45:26PM -0800, Frank Rowand wrote: > On 01/22/18 09:15, Lorenzo Pieralisi wrote: > > The current ARM DT topology description provides the operating system > > with a topological view of the system that is based on leaf nodes > > representing either cores or threads (in an SMT system) and a > > hierarchical set of cluster nodes that creates a hierarchical topology > > view of how those cores and threads are grouped. > > > > As opposed to the ACPI topology description ([1], PPTT table), this > > hierarchical representation of clusters does not allow to describe what > > topology level actually represents the physical package boundary, which > > is a key piece of information to be used by an operating system to > > optimize resource allocation and scheduling. > > > > Define an optional, backward compatible boolean property for cluster > > nodes that, by reusing the ACPI nomenclature, add to the ARM DT > > topological description a binding to define what cluster level > > represents a physical package boundary. > > > > [1] http://www.uefi.org/sites/default/files/resources/ACPI_6_2.pdf > > > > Signed-off-by: Lorenzo Pieralisi > > Cc: Rob Herring > > Cc: Sudeep Holla > > Cc: Jeremy Linton > > Cc: Morten Rasmussen > > Cc: Mark Rutland > > --- > > Documentation/devicetree/bindings/arm/topology.txt | 9 +++++++++ > > 1 file changed, 9 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/arm/topology.txt b/Documentation/devicetree/bindings/arm/topology.txt > > index de9eb0486630..8e78d76b0671 100644 > > --- a/Documentation/devicetree/bindings/arm/topology.txt > > +++ b/Documentation/devicetree/bindings/arm/topology.txt > > @@ -109,6 +109,15 @@ Bindings for cluster/cpu/thread nodes are defined as follows: > > The cluster node name must be "clusterN" as described in 2.1 above. > > A cluster node can not be a leaf node. > > > > + Properties for cluster nodes: > > + > > + - physical-package > > + Usage: optional > > + Value type: > > + Definition: if present the cluster node represents the > > + boundary of a physical package, whether socketed > > + or surface mounted. > > I don't know how to interpret this. Is the node with this property inside > or outside the boundary? If I had to guess, I would guess inside. A few > extra words to clarify this please. The node is neither inside nor outside, it _is_ the boundary. Every node defines a topology level - the property is there to define which one corresponds to a package, please let me know if it makes things clearer. Thanks, Lorenzo > > + > > A cluster node's child nodes must be: > > > > - one or more cluster nodes; or > > >