xref: /linux/Documentation/core-api/mm-api.rst (revision 0074281bb6316108e0cff094bd4db78ab3eee236)
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
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
94More Memory Management Functions
95================================
96
97.. kernel-doc:: mm/memory.c
98   :export:
99
100.. kernel-doc:: mm/page_alloc.c
101.. kernel-doc:: mm/mempolicy.c
102.. kernel-doc:: include/linux/mm_types.h
103   :internal:
104.. kernel-doc:: include/linux/mm_inline.h
105.. kernel-doc:: include/linux/page-flags.h
106.. kernel-doc:: include/linux/mm.h
107   :internal:
108.. kernel-doc:: include/linux/page_ref.h
109.. kernel-doc:: include/linux/mmzone.h
110.. kernel-doc:: mm/util.c
111   :functions: folio_mapping
112
113.. kernel-doc:: mm/rmap.c
114.. kernel-doc:: mm/migrate.c
115.. kernel-doc:: mm/mmap.c
116.. kernel-doc:: mm/kmemleak.c
117.. #kernel-doc:: mm/hmm.c (build warnings)
118.. kernel-doc:: mm/memremap.c
119.. kernel-doc:: mm/hugetlb.c
120.. kernel-doc:: mm/swap.c
121.. kernel-doc:: mm/zpool.c
122.. kernel-doc:: mm/memcontrol.c
123.. #kernel-doc:: mm/memory-tiers.c (build warnings)
124.. kernel-doc:: mm/shmem.c
125.. kernel-doc:: mm/migrate_device.c
126.. #kernel-doc:: mm/nommu.c (duplicates kernel-doc from other files)
127.. kernel-doc:: mm/mapping_dirty_helpers.c
128.. #kernel-doc:: mm/memory-failure.c (build warnings)
129.. kernel-doc:: mm/percpu.c
130.. kernel-doc:: mm/maccess.c
131.. kernel-doc:: mm/vmscan.c
132.. kernel-doc:: mm/memory_hotplug.c
133.. kernel-doc:: mm/mmu_notifier.c
134.. kernel-doc:: mm/balloon_compaction.c
135.. kernel-doc:: mm/huge_memory.c
136