From mboxrd@z Thu Jan 1 00:00:00 1970 From: sudeep.holla@arm.com (Sudeep Holla) Date: Tue, 23 Jan 2018 10:35:32 +0000 Subject: [RFC PATCH] Documentation: DT: arm: Add topology property to define package boundaries In-Reply-To: References: <20180122171534.7681-1-lorenzo.pieralisi@arm.com> Message-ID: <09a288f7-44a5-8f2c-b568-ad117a2ef701@arm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 22/01/18 23:25, Jeremy Linton wrote: > Hi, > > On 01/22/2018 11:15 AM, 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. >> + >> ????? A cluster node's child nodes must be: >> ? ????? - one or more cluster nodes; or >> > > Looks good so far, but I would worry about it being optional. We have no choice, it has to be optional for compatibility reasons as stated in the commit message. > That seemed like a mistake on the ACPI side. Not necessarily. It's firmware choice as long as it knows how to deal with the default(absence in case of DT) > > Assuming it is optional, it might be worth a sentence explaining what > the fallback behavior is if the property is missing. That would be helpful. -- Regards, Sudeep