xref: /linux/Documentation/core-api/mm-api.rst (revision 3d0fe49454652117522f60bfbefb978ba0e5300b)
1======================
2Memory Management APIs
3======================
4
5User Space Memory Access
6========================
7
8.. kernel-doc:: arch/x86/include/asm/uaccess.h
9   :internal:
10
11.. kernel-doc:: arch/x86/lib/usercopy_32.c
12   :export:
13
14.. kernel-doc:: mm/gup.c
15   :functions: get_user_pages_fast
16
17.. _mm-api-gfp-flags:
18
19Memory Allocation Controls
20==========================
21
22.. kernel-doc:: include/linux/gfp_types.h
23   :doc: Page mobility and placement hints
24
25.. kernel-doc:: include/linux/gfp_types.h
26   :doc: Watermark modifiers
27
28.. kernel-doc:: include/linux/gfp_types.h
29   :doc: Reclaim modifiers
30
31.. kernel-doc:: include/linux/gfp_types.h
32   :doc: Useful GFP flag combinations
33
34The Slab Cache
35==============
36
37.. kernel-doc:: include/linux/slab.h
38   :internal:
39
40.. kernel-doc:: mm/slab.c
41   :export:
42
43.. kernel-doc:: mm/slab_common.c
44   :export:
45
46.. kernel-doc:: mm/util.c
47   :functions: kfree_const kvmalloc_node kvfree
48
49Virtually Contiguous Mappings
50=============================
51
52.. kernel-doc:: mm/vmalloc.c
53   :export:
54
55File Mapping and Page Cache
56===========================
57
58Filemap
59-------
60
61.. kernel-doc:: mm/filemap.c
62   :export:
63
64Readahead
65---------
66
67.. kernel-doc:: mm/readahead.c
68   :doc: Readahead Overview
69
70.. kernel-doc:: mm/readahead.c
71   :export:
72
73Writeback
74---------
75
76.. kernel-doc:: mm/page-writeback.c
77   :export:
78
79Truncate
80--------
81
82.. kernel-doc:: mm/truncate.c
83   :export:
84
85.. kernel-doc:: include/linux/pagemap.h
86   :internal:
87
88Memory pools
89============
90
91.. kernel-doc:: mm/mempool.c
92   :export:
93
94DMA pools
95=========
96
97.. kernel-doc:: mm/dmapool.c
98   :export:
99
100More Memory Management Functions
101================================
102
103.. kernel-doc:: mm/memory.c
104   :export:
105
106.. kernel-doc:: mm/page_alloc.c
107.. kernel-doc:: mm/mempolicy.c
108.. kernel-doc:: include/linux/mm_types.h
109   :internal:
110.. kernel-doc:: include/linux/mm_inline.h
111.. kernel-doc:: include/linux/page-flags.h
112.. kernel-doc:: include/linux/mm.h
113   :internal:
114.. kernel-doc:: include/linux/page_ref.h
115.. kernel-doc:: include/linux/mmzone.h
116.. kernel-doc:: mm/util.c
117   :functions: folio_mapping
118
119.. kernel-doc:: mm/rmap.c
120.. kernel-doc:: mm/migrate.c
121.. kernel-doc:: mm/mmap.c
122.. kernel-doc:: mm/kmemleak.c
123.. #kernel-doc:: mm/hmm.c (build warnings)
124.. kernel-doc:: mm/memremap.c
125.. kernel-doc:: mm/hugetlb.c
126.. kernel-doc:: mm/swap.c
127.. kernel-doc:: mm/zpool.c
128.. kernel-doc:: mm/memcontrol.c
129.. #kernel-doc:: mm/memory-tiers.c (build warnings)
130.. kernel-doc:: mm/shmem.c
131.. kernel-doc:: mm/migrate_device.c
132.. #kernel-doc:: mm/nommu.c (duplicates kernel-doc from other files)
133.. kernel-doc:: mm/mapping_dirty_helpers.c
134.. #kernel-doc:: mm/memory-failure.c (build warnings)
135.. kernel-doc:: mm/percpu.c
136.. kernel-doc:: mm/maccess.c
137.. kernel-doc:: mm/vmscan.c
138.. kernel-doc:: mm/memory_hotplug.c
139.. kernel-doc:: mm/mmu_notifier.c
140.. kernel-doc:: mm/balloon_compaction.c
141.. kernel-doc:: mm/huge_memory.c
142.. kernel-doc:: mm/io-mapping.c
143