docs/mm: Physical Memory: add example of interleaving nodes

Message ID 20230211102207.1267058-1-rppt@kernel.org
State New
Headers
Series docs/mm: Physical Memory: add example of interleaving nodes |

Commit Message

Mike Rapoport Feb. 11, 2023, 10:22 a.m. UTC
  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

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

As per Michal's request add an example of interleaving nodes.
This is based on Jon's docs-next of Wednesday.

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


base-commit: e076f253283c3e55a128fa9665c0e6cd8146948d
  

Comments

Bagas Sanjaya Feb. 11, 2023, 12:31 p.m. UTC | #1
On 2/11/23 17:22, 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::
> +
> +
> +  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 Gbytes to 16 Gbytes.
> +

What about "... and node 1 will span from 4 to 16 Gbytes"?
  
Mike Rapoport Feb. 11, 2023, 12:39 p.m. UTC | #2
On Sat, Feb 11, 2023 at 07:31:18PM +0700, Bagas Sanjaya wrote:
> On 2/11/23 17:22, 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::
> > +
> > +
> > +  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 Gbytes to 16 Gbytes.
> > +
> 
> What about "... and node 1 will span from 4 to 16 Gbytes"?
 
Sure.

> -- 
> An old man doll... just what I always wanted! - Clara
>
  

Patch

diff --git a/Documentation/mm/physical_memory.rst b/Documentation/mm/physical_memory.rst
index 3f3c02aa6e6e..eb9a7a6d3216 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 Gbytes to 16 Gbytes.
+
 .. _nodes:
 
 Nodes