xref: /linux/Documentation/core-api/mm-api.rst (revision 5b0764a53235d3c77e1ed674e836e1b3fe1a4b1f)
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/slub.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
55Kernel Page Table Permissions
56=============================
57
58.. kernel-doc:: include/linux/set_memory.h
59   :doc: Kernel page table permissions
60
61.. kernel-doc:: include/linux/set_memory.h
62   :internal:
63
64File Mapping and Page Cache
65===========================
66
67Filemap
68-------
69
70.. kernel-doc:: mm/filemap.c
71   :export:
72
73Readahead
74---------
75
76.. kernel-doc:: mm/readahead.c
77   :doc: Readahead Overview
78
79.. kernel-doc:: mm/readahead.c
80   :export:
81
82Writeback
83---------
84
85.. kernel-doc:: include/linux/writeback.h
86.. kernel-doc:: mm/page-writeback.c
87   :export:
88
89Truncate
90--------
91
92.. kernel-doc:: mm/truncate.c
93   :export:
94
95.. kernel-doc:: include/linux/pagemap.h
96   :internal:
97
98Memory pools
99============
100
101.. kernel-doc:: mm/mempool.c
102   :export:
103
104More Memory Management Functions
105================================
106
107.. kernel-doc:: mm/memory.c
108   :export:
109
110.. kernel-doc:: mm/page_alloc.c
111.. kernel-doc:: mm/mempolicy.c
112.. kernel-doc:: include/linux/mm_types.h
113   :internal:
114.. kernel-doc:: include/linux/mm_inline.h
115.. kernel-doc:: include/linux/page-flags.h
116.. kernel-doc:: include/linux/mm.h
117   :internal:
118.. kernel-doc:: include/linux/page_ref.h
119.. kernel-doc:: include/linux/mmzone.h
120.. kernel-doc:: mm/util.c
121   :functions: folio_mapping
122
123.. kernel-doc:: mm/rmap.c
124.. kernel-doc:: mm/migrate.c
125.. kernel-doc:: mm/mmap.c
126.. kernel-doc:: mm/kmemleak.c
127.. #kernel-doc:: mm/hmm.c (build warnings)
128.. kernel-doc:: mm/memremap.c
129.. kernel-doc:: mm/hugetlb.c
130.. kernel-doc:: mm/folio.c
131.. kernel-doc:: mm/memcontrol.c
132.. #kernel-doc:: mm/memory-tiers.c (build warnings)
133.. kernel-doc:: mm/shmem.c
134.. kernel-doc:: mm/migrate_device.c
135.. #kernel-doc:: mm/nommu.c (duplicates kernel-doc from other files)
136.. kernel-doc:: mm/mapping_dirty_helpers.c
137.. #kernel-doc:: mm/memory-failure.c (build warnings)
138.. kernel-doc:: mm/percpu.c
139.. kernel-doc:: mm/maccess.c
140.. kernel-doc:: mm/vmscan.c
141.. kernel-doc:: mm/memory_hotplug.c
142.. kernel-doc:: mm/mmu_notifier.c
143.. kernel-doc:: mm/balloon.c
144.. kernel-doc:: mm/huge_memory.c
145