| =============================== | |
| Memory Management Documentation | |
| =============================== | |
| 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>`. | |
| .. note:: | |
| Unfortunately, parts of this guide are still incomplete or missing. | |
| While we appreciate contributions, documentation in this area is hard | |
| to get right and requires a lot of attention to detail. New contributors | |
| should reach out to the relevant maintainers early. | |
| This guide is expected to reflect reality, which requires contributors | |
| to have a detailed understanding. Documentation generated with LLMs | |
| by contributors unfamiliar with these details shifts the real work onto | |
| reviewers, which is why such contributions will be rejected without | |
| further comment. | |
| .. toctree:: | |
| :maxdepth: 1 | |
| physical_memory | |
| page_tables | |
| process_addrs | |
| bootmem | |
| page_allocation | |
| vmalloc | |
| slab | |
| highmem | |
| page_reclaim | |
| swap | |
| swap-table | |
| page_cache | |
| shmfs | |
| oom | |
| Unsorted Documentation | |
| ====================== | |
| This is a collection of unsorted 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 | |
| active_mm | |
| allocation-profiling | |
| arch_pgtable_helpers | |
| balance | |
| damon/index | |
| free_page_reporting | |
| hmm | |
| hwpoison | |
| hugetlbfs_reserv | |
| ksm | |
| memory-model | |
| memfd_preservation | |
| mmu_notifier | |
| multigen_lru | |
| numa | |
| overcommit-accounting | |
| page_migration | |
| page_frags | |
| page_owner | |
| page_table_check | |
| remap_file_pages | |
| split_page_table_lock | |
| transhuge | |
| unevictable-lru | |
| vmalloced-kernel-stacks | |
| vmemmap_dedup | |
| zsmalloc |