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