[PATCH v2] docs/mm: Physical Memory: add example of interleaving nodes

Mike Rapoport posted 1 patch 2 years, 7 months ago
There is a newer version of this series
Documentation/mm/physical_memory.rst | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
[PATCH v2] docs/mm: Physical Memory: add example of interleaving nodes
Posted by Mike Rapoport 2 years, 7 months ago
From: "Mike Rapoport (IBM)" <rppt@kernel.org>

Add an example of memory layout with interleaving nodes where even memory
banks belong to node 0 and odd memory banks belong to node 1

Suggested-by: Michal Hocko <mhocko@kernel.org>
Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org>
---

v2:
* Wording update (Bagas)
* Add forgotten Suggested-by

v1: https://lore.kernel.org/all/20230211102207.1267058-1-rppt@kernel.org

 Documentation/mm/physical_memory.rst | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/Documentation/mm/physical_memory.rst b/Documentation/mm/physical_memory.rst
index 3f3c02aa6e6e..d14b785fd938 100644
--- a/Documentation/mm/physical_memory.rst
+++ b/Documentation/mm/physical_memory.rst
@@ -114,6 +114,25 @@ RAM equally split between two nodes, there will be ``ZONE_DMA32``,
   |  DMA32  |  NORMAL  |  MOVABLE  | |   NORMAL   |   MOVABLE   |
   +---------+----------+-----------+ +------------+-------------+
 
+
+Note, that memory banks may belong to interleaving nodes. In the example
+below an x86 machine has 16Gbytes or RAM in 4 memory banks, even banks
+belong to node 0 and odd banks belong to node 1::
+
+
+  0              4G              8G             12G            16G
+  +-------------+ +-------------+ +-------------+ +-------------+
+  |    node 0   | |    node 1   | |    node 0   | |    node 1   |
+  +-------------+ +-------------+ +-------------+ +-------------+
+
+  0   16M      4G
+  +-----+-------+ +-------------+ +-------------+ +-------------+
+  | DMA | DMA32 | |    NORMAL   | |    NORMAL   | |    NORMAL   |
+  +-----+-------+ +-------------+ +-------------+ +-------------+
+
+In such case node 0 will span from 0 to 12 Gbytes and node 1 will span from
+4 to 16 Gbytes.
+
 .. _nodes:
 
 Nodes

base-commit: e076f253283c3e55a128fa9665c0e6cd8146948d
-- 
2.35.1
Re: [PATCH v2] docs/mm: Physical Memory: add example of interleaving nodes
Posted by Matthew Wilcox 2 years, 7 months ago
On Sun, Feb 12, 2023 at 11:54:45AM +0200, Mike Rapoport wrote:
> +Note, that memory banks may belong to interleaving nodes. In the example
> +below an x86 machine has 16Gbytes or RAM in 4 memory banks, even banks
> +belong to node 0 and odd banks belong to node 1::

s/or RAM/of RAM/

The "Note," is superfluous, you can just write:

Memory banks may belong to interleaved nodes.

And I think we prefer the newer form "GiB" for new documentation.

> +
> +  0              4G              8G             12G            16G
> +  +-------------+ +-------------+ +-------------+ +-------------+
> +  |    node 0   | |    node 1   | |    node 0   | |    node 1   |
> +  +-------------+ +-------------+ +-------------+ +-------------+
> +
> +  0   16M      4G
> +  +-----+-------+ +-------------+ +-------------+ +-------------+
> +  | DMA | DMA32 | |    NORMAL   | |    NORMAL   | |    NORMAL   |
> +  +-----+-------+ +-------------+ +-------------+ +-------------+
> +
> +In such case node 0 will span from 0 to 12 Gbytes and node 1 will span from
> +4 to 16 Gbytes.

s/such/this/ (and I'd use GiB again)
Re: [PATCH v2] docs/mm: Physical Memory: add example of interleaving nodes
Posted by Mike Rapoport 2 years, 7 months ago
On Sun, Feb 12, 2023 at 11:50:08AM +0000, Matthew Wilcox wrote:
> On Sun, Feb 12, 2023 at 11:54:45AM +0200, Mike Rapoport wrote:
> > +Note, that memory banks may belong to interleaving nodes. In the example
> > +below an x86 machine has 16Gbytes or RAM in 4 memory banks, even banks
> > +belong to node 0 and odd banks belong to node 1::
> 
> s/or RAM/of RAM/

Thanks
 
> The "Note," is superfluous, you can just write:
> 
> Memory banks may belong to interleaved nodes.

Ok
 
> And I think we prefer the newer form "GiB" for new documentation.

I've used Gbytes in previous examples, so I'd prefer to keep it consistent
We can swipe s/Gbytes/GiB/g later.
 
> > +
> > +  0              4G              8G             12G            16G
> > +  +-------------+ +-------------+ +-------------+ +-------------+
> > +  |    node 0   | |    node 1   | |    node 0   | |    node 1   |
> > +  +-------------+ +-------------+ +-------------+ +-------------+
> > +
> > +  0   16M      4G
> > +  +-----+-------+ +-------------+ +-------------+ +-------------+
> > +  | DMA | DMA32 | |    NORMAL   | |    NORMAL   | |    NORMAL   |
> > +  +-----+-------+ +-------------+ +-------------+ +-------------+
> > +
> > +In such case node 0 will span from 0 to 12 Gbytes and node 1 will span from
> > +4 to 16 Gbytes.
> 
> s/such/this/ (and I'd use GiB again)

-- 
Sincerely yours,
Mike.