xref: /linux/Documentation/mm/index.rst (revision 805185b7c7a1069e407b6f7b3bc98e44d415f484)
1===============================
2Memory Management Documentation
3===============================
4
5This is a guide to understanding the memory management subsystem
6of Linux.  If you are looking for advice on simply allocating memory,
7see the :ref:`memory_allocation`.  For controlling and tuning guides,
8see the :doc:`admin guide <../admin-guide/mm/index>`.
9
10.. note::
11
12  Unfortunately, parts of this guide are still incomplete or missing.
13  While we appreciate contributions, documentation in this area is hard
14  to get right and requires a lot of attention to detail.  New contributors
15  should reach out to the relevant maintainers early.
16
17  This guide is expected to reflect reality, which requires contributors
18  to have a detailed understanding.  Documentation generated with LLMs
19  by contributors unfamiliar with these details shifts the real work onto
20  reviewers, which is why such contributions will be rejected without
21  further comment.
22
23.. toctree::
24   :maxdepth: 1
25
26   physical_memory
27   page_tables
28   process_addrs
29   bootmem
30   page_allocation
31   vmalloc
32   slab
33   highmem
34   page_reclaim
35   swap
36   swap-table
37   page_cache
38   shmfs
39   oom
40
41Unsorted Documentation
42======================
43
44This is a collection of unsorted documents about the Linux memory management
45(MM) subsystem internals with different level of details ranging from notes and
46mailing list responses for elaborating descriptions of data structures and
47algorithms.  It should all be integrated nicely into the above structured
48documentation, or deleted if it has served its purpose.
49
50.. toctree::
51   :maxdepth: 1
52
53   active_mm
54   allocation-profiling
55   arch_pgtable_helpers
56   balance
57   damon/index
58   free_page_reporting
59   hmm
60   hwpoison
61   hugetlbfs_reserv
62   ksm
63   memory-model
64   memfd_preservation
65   mmu_notifier
66   multigen_lru
67   numa
68   overcommit-accounting
69   page_migration
70   page_frags
71   page_owner
72   page_table_check
73   remap_file_pages
74   split_page_table_lock
75   transhuge
76   unevictable-lru
77   vmalloced-kernel-stacks
78   vmemmap_dedup
79   zsmalloc
80