Message ID | 20220507134947.444287-1-willy@infradead.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2] mm,doc: Add new documentation structure | expand |
"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
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?
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
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 --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 +======================================