Re: [PATCH] Documentation, dt, numa: Add note to empty NUMA node

From: Gavin Shan
Date: Wed Jun 23 2021 - 22:56:44 EST


On 6/24/21 12:14 PM, Randy Dunlap wrote:
On 6/23/21 8:37 PM, Gavin Shan wrote:
The empty NUMA nodes, where no memory resides in, are allowed. For
these empty NUMA nodes, the 'len' of 'reg' property is zero. These
empty NUMA node IDs are still valid and parsed. I finds difficulty
to get where it's properly documented.

So lets add note to empty NUMA nodes in the NUMA binding doc.

Signed-off-by: Gavin Shan <gshan@xxxxxxxxxx>
---
Documentation/devicetree/bindings/numa.txt | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/numa.txt b/Documentation/devicetree/bindings/numa.txt
index 21b35053ca5a..c564705c0eac 100644
--- a/Documentation/devicetree/bindings/numa.txt
+++ b/Documentation/devicetree/bindings/numa.txt
@@ -109,6 +109,10 @@ Example:
Dual socket system consists of 2 boards connected through ccn bus and
each board having one socket/soc of 8 cpus, memory and pci bus.
+Note that the empty NUMA nodes, which no memory resides in, are allowed

Missing period at end of the sentence above.


Oh, Yes. Thanks, Randy. I will replace "resides in" with "resides in period"
in v2.

+Their NUMA node IDs are still valid so that memory can be added into these
+NUMA nodes through hotplug afterwards.
+
memory@c00000 {
device_type = "memory";
reg = <0x0 0xc00000 0x0 0x80000000>;

By the way, I have one more question to check with you if I can. I'm not sure
if dummy and invalid 'unit-address' is allowed in the empty memory node name,
which follows the format "memory@unit-address'.

(1) The 'unit-address' is same thing as to 'base address' for memory node,
as specified in device-tree specification. I'm not sure if 'base address'
can be dummy and invalid one since empty memory node doesn't have memory
at all.

https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#node-names

(2) I don't find the 'unit-address' is used in linux, but I'm not sure other
software component like firmware uses it or not.

Thanks,
Gavin