diff mbox series

[v2] mm,doc: Add new documentation structure

Message ID 20220507134947.444287-1-willy@infradead.org (mailing list archive)
State New
Headers show
Series [v2] mm,doc: Add new documentation structure | expand

Commit Message

Matthew Wilcox May 7, 2022, 1:49 p.m. UTC
Closely following the outline of Mel Gorman's book "Understanding the
Linux Virtual Memory Manager", add a new outline.  Preserve the current
contents of the mm underneath the new outline so we can transition those
documents to a more sensible place later.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: John Hubbard <jhubbard@nvidia.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
---
 Documentation/vm/bootmem.rst         |  5 ++++
 Documentation/vm/index.rst           | 40 +++++++++++++++++++++++-----
 Documentation/vm/oom.rst             |  5 ++++
 Documentation/vm/page_allocation.rst |  5 ++++
 Documentation/vm/page_cache.rst      |  5 ++++
 Documentation/vm/page_reclaim.rst    |  5 ++++
 Documentation/vm/page_tables.rst     |  5 ++++
 Documentation/vm/physical_memory.rst |  5 ++++
 Documentation/vm/process_addrs.rst   |  5 ++++
 Documentation/vm/shmfs.rst           |  5 ++++
 Documentation/vm/slab.rst            |  5 ++++
 Documentation/vm/swap.rst            |  5 ++++
 Documentation/vm/vmalloc.rst         |  5 ++++
 13 files changed, 93 insertions(+), 7 deletions(-)
 create mode 100644 Documentation/vm/bootmem.rst
 create mode 100644 Documentation/vm/oom.rst
 create mode 100644 Documentation/vm/page_allocation.rst
 create mode 100644 Documentation/vm/page_cache.rst
 create mode 100644 Documentation/vm/page_reclaim.rst
 create mode 100644 Documentation/vm/page_tables.rst
 create mode 100644 Documentation/vm/physical_memory.rst
 create mode 100644 Documentation/vm/process_addrs.rst
 create mode 100644 Documentation/vm/shmfs.rst
 create mode 100644 Documentation/vm/slab.rst
 create mode 100644 Documentation/vm/swap.rst
 create mode 100644 Documentation/vm/vmalloc.rst

Comments

Jonathan Corbet May 9, 2022, 9:50 p.m. UTC | #1
"Matthew Wilcox (Oracle)" <willy@infradead.org> writes:

> Closely following the outline of Mel Gorman's book "Understanding the
> Linux Virtual Memory Manager", add a new outline.  Preserve the current
> contents of the mm underneath the new outline so we can transition those
> documents to a more sensible place later.
>
> Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
> Reviewed-by: John Hubbard <jhubbard@nvidia.com>
> Acked-by: Randy Dunlap <rdunlap@infradead.org>
> Acked-by: Johannes Weiner <hannes@cmpxchg.org>

So this seems like a good start to me.

What's your intended path for merging this?  You didn't copy me so I'm
assuming you had some other way in mind.

Thanks,

jon
Matthew Wilcox May 9, 2022, 10:08 p.m. UTC | #2
On Mon, May 09, 2022 at 03:50:22PM -0600, Jonathan Corbet wrote:
> "Matthew Wilcox (Oracle)" <willy@infradead.org> writes:
> 
> > Closely following the outline of Mel Gorman's book "Understanding the
> > Linux Virtual Memory Manager", add a new outline.  Preserve the current
> > contents of the mm underneath the new outline so we can transition those
> > documents to a more sensible place later.
> >
> > Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
> > Reviewed-by: John Hubbard <jhubbard@nvidia.com>
> > Acked-by: Randy Dunlap <rdunlap@infradead.org>
> > Acked-by: Johannes Weiner <hannes@cmpxchg.org>
> 
> So this seems like a good start to me.
> 
> What's your intended path for merging this?  You didn't copy me so I'm
> assuming you had some other way in mind.

Uh, good point.  I didn't cc either you or Andrew.  I don't think it
matters which one of you takes it.  Since you responded first, do you
want to take it?
Jonathan Corbet May 9, 2022, 10:40 p.m. UTC | #3
Matthew Wilcox <willy@infradead.org> writes:

> On Mon, May 09, 2022 at 03:50:22PM -0600, Jonathan Corbet wrote:
>> "Matthew Wilcox (Oracle)" <willy@infradead.org> writes:
>> 
>> > Closely following the outline of Mel Gorman's book "Understanding the
>> > Linux Virtual Memory Manager", add a new outline.  Preserve the current
>> > contents of the mm underneath the new outline so we can transition those
>> > documents to a more sensible place later.
>> >
>> > Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
>> > Reviewed-by: John Hubbard <jhubbard@nvidia.com>
>> > Acked-by: Randy Dunlap <rdunlap@infradead.org>
>> > Acked-by: Johannes Weiner <hannes@cmpxchg.org>
>> 
>> So this seems like a good start to me.
>> 
>> What's your intended path for merging this?  You didn't copy me so I'm
>> assuming you had some other way in mind.
>
> Uh, good point.  I didn't cc either you or Andrew.  I don't think it
> matters which one of you takes it.  Since you responded first, do you
> want to take it?

Will do.

Thanks,

jon
Mike Rapoport May 11, 2022, 8:38 a.m. UTC | #4
On Sat, May 07, 2022 at 02:49:47PM +0100, Matthew Wilcox (Oracle) wrote:
> Closely following the outline of Mel Gorman's book "Understanding the
> Linux Virtual Memory Manager", add a new outline.  Preserve the current
> contents of the mm underneath the new outline so we can transition those
> documents to a more sensible place later.
> 
> Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
> Reviewed-by: John Hubbard <jhubbard@nvidia.com>
> Acked-by: Randy Dunlap <rdunlap@infradead.org>
> Acked-by: Johannes Weiner <hannes@cmpxchg.org>

Small nit below, otherwise

Reviewed-by: Mike Rapoport <rppt@linux.ibm.com>

> ---
>  Documentation/vm/bootmem.rst         |  5 ++++
>  Documentation/vm/index.rst           | 40 +++++++++++++++++++++++-----
>  Documentation/vm/oom.rst             |  5 ++++
>  Documentation/vm/page_allocation.rst |  5 ++++
>  Documentation/vm/page_cache.rst      |  5 ++++
>  Documentation/vm/page_reclaim.rst    |  5 ++++
>  Documentation/vm/page_tables.rst     |  5 ++++
>  Documentation/vm/physical_memory.rst |  5 ++++
>  Documentation/vm/process_addrs.rst   |  5 ++++
>  Documentation/vm/shmfs.rst           |  5 ++++
>  Documentation/vm/slab.rst            |  5 ++++
>  Documentation/vm/swap.rst            |  5 ++++
>  Documentation/vm/vmalloc.rst         |  5 ++++
>  13 files changed, 93 insertions(+), 7 deletions(-)
>  create mode 100644 Documentation/vm/bootmem.rst
>  create mode 100644 Documentation/vm/oom.rst
>  create mode 100644 Documentation/vm/page_allocation.rst
>  create mode 100644 Documentation/vm/page_cache.rst
>  create mode 100644 Documentation/vm/page_reclaim.rst
>  create mode 100644 Documentation/vm/page_tables.rst
>  create mode 100644 Documentation/vm/physical_memory.rst
>  create mode 100644 Documentation/vm/process_addrs.rst
>  create mode 100644 Documentation/vm/shmfs.rst
>  create mode 100644 Documentation/vm/slab.rst
>  create mode 100644 Documentation/vm/swap.rst
>  create mode 100644 Documentation/vm/vmalloc.rst
> 
> diff --git a/Documentation/vm/bootmem.rst b/Documentation/vm/bootmem.rst
> new file mode 100644
> index 000000000000..eb2b31eedfa1
> --- /dev/null
> +++ b/Documentation/vm/bootmem.rst
> @@ -0,0 +1,5 @@
> +.. SPDX-License-Identifier: GPL-2.0
> +
> +===========
> +Boot Memory
> +===========
> diff --git a/Documentation/vm/index.rst b/Documentation/vm/index.rst
> index 44365c4574a3..e72736d53604 100644
> --- a/Documentation/vm/index.rst
> +++ b/Documentation/vm/index.rst
> @@ -2,12 +2,39 @@
>  Linux Memory Management Documentation
>  =====================================
>  
> -This is a collection of documents about the Linux memory management (mm)
> -subsystem internals with different level of details ranging from notes and
> -mailing list responses for elaborating descriptions of data structures and
> -algorithms.  If you are looking for advice on simply allocating memory, see the
> -:ref:`memory_allocation`.  For controlling and tuning guides, see the
> -:doc:`admin guide <../admin-guide/mm/index>`.
> +Memory Management Guide
> +=======================
> +
> +This is a guide to understanding the memory management subsystem
> +of Linux.  If you are looking for advice on simply allocating memory,
> +see the :ref:`memory_allocation`.  For controlling and tuning guides,
> +see the :doc:`admin guide <../admin-guide/mm/index>`.
> +
> +.. toctree::
> +   :maxdepth: 1
> +
> +   physical_memory
> +   page_tables
> +   process_addrs
> +   bootmem
> +   page_allocation
> +   vmalloc
> +   slab
> +   highmem
> +   page_reclaim
> +   swap
> +   page_cache
> +   shmfs
> +   oom
> +
> +Legacy Documentation
> +====================
> +
> +This is a collection of older documents about the Linux memory management
> +(MM) subsystem internals with different level of details ranging from
> +notes and mailing list responses for elaborating descriptions of data

"... ranging from notes and mailing list responses to elaborate description
of data structures ..."

> +structures and algorithms.  It should all be integrated nicely into the
> +above structured documentation, or deleted if it has served its purpose.
diff mbox series

Patch

diff --git a/Documentation/vm/bootmem.rst b/Documentation/vm/bootmem.rst
new file mode 100644
index 000000000000..eb2b31eedfa1
--- /dev/null
+++ b/Documentation/vm/bootmem.rst
@@ -0,0 +1,5 @@ 
+.. SPDX-License-Identifier: GPL-2.0
+
+===========
+Boot Memory
+===========
diff --git a/Documentation/vm/index.rst b/Documentation/vm/index.rst
index 44365c4574a3..e72736d53604 100644
--- a/Documentation/vm/index.rst
+++ b/Documentation/vm/index.rst
@@ -2,12 +2,39 @@ 
 Linux Memory Management Documentation
 =====================================
 
-This is a collection of documents about the Linux memory management (mm)
-subsystem internals with different level of details ranging from notes and
-mailing list responses for elaborating descriptions of data structures and
-algorithms.  If you are looking for advice on simply allocating memory, see the
-:ref:`memory_allocation`.  For controlling and tuning guides, see the
-:doc:`admin guide <../admin-guide/mm/index>`.
+Memory Management Guide
+=======================
+
+This is a guide to understanding the memory management subsystem
+of Linux.  If you are looking for advice on simply allocating memory,
+see the :ref:`memory_allocation`.  For controlling and tuning guides,
+see the :doc:`admin guide <../admin-guide/mm/index>`.
+
+.. toctree::
+   :maxdepth: 1
+
+   physical_memory
+   page_tables
+   process_addrs
+   bootmem
+   page_allocation
+   vmalloc
+   slab
+   highmem
+   page_reclaim
+   swap
+   page_cache
+   shmfs
+   oom
+
+Legacy Documentation
+====================
+
+This is a collection of older documents about the Linux memory management
+(MM) subsystem internals with different level of details ranging from
+notes and mailing list responses for elaborating descriptions of data
+structures and algorithms.  It should all be integrated nicely into the
+above structured documentation, or deleted if it has served its purpose.
 
 .. toctree::
    :maxdepth: 1
@@ -18,7 +45,6 @@  algorithms.  If you are looking for advice on simply allocating memory, see the
    damon/index
    free_page_reporting
    frontswap
-   highmem
    hmm
    hwpoison
    hugetlbfs_reserv
diff --git a/Documentation/vm/oom.rst b/Documentation/vm/oom.rst
new file mode 100644
index 000000000000..18e9e40c1ec1
--- /dev/null
+++ b/Documentation/vm/oom.rst
@@ -0,0 +1,5 @@ 
+.. SPDX-License-Identifier: GPL-2.0
+
+======================
+Out Of Memory Handling
+======================
diff --git a/Documentation/vm/page_allocation.rst b/Documentation/vm/page_allocation.rst
new file mode 100644
index 000000000000..d9b4495561f1
--- /dev/null
+++ b/Documentation/vm/page_allocation.rst
@@ -0,0 +1,5 @@ 
+.. SPDX-License-Identifier: GPL-2.0
+
+===============
+Page Allocation
+===============
diff --git a/Documentation/vm/page_cache.rst b/Documentation/vm/page_cache.rst
new file mode 100644
index 000000000000..75eba7c431b2
--- /dev/null
+++ b/Documentation/vm/page_cache.rst
@@ -0,0 +1,5 @@ 
+.. SPDX-License-Identifier: GPL-2.0
+
+==========
+Page Cache
+==========
diff --git a/Documentation/vm/page_reclaim.rst b/Documentation/vm/page_reclaim.rst
new file mode 100644
index 000000000000..50a30b7f8ac3
--- /dev/null
+++ b/Documentation/vm/page_reclaim.rst
@@ -0,0 +1,5 @@ 
+.. SPDX-License-Identifier: GPL-2.0
+
+============
+Page Reclaim
+============
diff --git a/Documentation/vm/page_tables.rst b/Documentation/vm/page_tables.rst
new file mode 100644
index 000000000000..96939571d7bc
--- /dev/null
+++ b/Documentation/vm/page_tables.rst
@@ -0,0 +1,5 @@ 
+.. SPDX-License-Identifier: GPL-2.0
+
+===========
+Page Tables
+===========
diff --git a/Documentation/vm/physical_memory.rst b/Documentation/vm/physical_memory.rst
new file mode 100644
index 000000000000..2ab7b8c1c863
--- /dev/null
+++ b/Documentation/vm/physical_memory.rst
@@ -0,0 +1,5 @@ 
+.. SPDX-License-Identifier: GPL-2.0
+
+===============
+Physical Memory
+===============
diff --git a/Documentation/vm/process_addrs.rst b/Documentation/vm/process_addrs.rst
new file mode 100644
index 000000000000..e8618fbc62c9
--- /dev/null
+++ b/Documentation/vm/process_addrs.rst
@@ -0,0 +1,5 @@ 
+.. SPDX-License-Identifier: GPL-2.0
+
+=================
+Process Addresses
+=================
diff --git a/Documentation/vm/shmfs.rst b/Documentation/vm/shmfs.rst
new file mode 100644
index 000000000000..8b01ebb4c30e
--- /dev/null
+++ b/Documentation/vm/shmfs.rst
@@ -0,0 +1,5 @@ 
+.. SPDX-License-Identifier: GPL-2.0
+
+========================
+Shared Memory Filesystem
+========================
diff --git a/Documentation/vm/slab.rst b/Documentation/vm/slab.rst
new file mode 100644
index 000000000000..87d5a5bb172f
--- /dev/null
+++ b/Documentation/vm/slab.rst
@@ -0,0 +1,5 @@ 
+.. SPDX-License-Identifier: GPL-2.0
+
+===============
+Slab Allocation
+===============
diff --git a/Documentation/vm/swap.rst b/Documentation/vm/swap.rst
new file mode 100644
index 000000000000..78819bd4d745
--- /dev/null
+++ b/Documentation/vm/swap.rst
@@ -0,0 +1,5 @@ 
+.. SPDX-License-Identifier: GPL-2.0
+
+====
+Swap
+====
diff --git a/Documentation/vm/vmalloc.rst b/Documentation/vm/vmalloc.rst
new file mode 100644
index 000000000000..363fe20d6b9f
--- /dev/null
+++ b/Documentation/vm/vmalloc.rst
@@ -0,0 +1,5 @@ 
+.. SPDX-License-Identifier: GPL-2.0
+
+======================================
+Virtually Contiguous Memory Allocation
+======================================