xref: /linux/Documentation/core-api/mm-api.rst (revision 570f7e331f5febb30f1384817463c7e42b65ca7d)
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:: include/linux/writeback.h
77.. kernel-doc:: mm/page-writeback.c
78   :export:
79
80Truncate
81--------
82
83.. kernel-doc:: mm/truncate.c
84   :export:
85
86.. kernel-doc:: include/linux/pagemap.h
87   :internal:
88
89Memory pools
90============
91
92.. kernel-doc:: mm/mempool.c
93   :export:
94
95More Memory Management Functions
96================================
97
98.. kernel-doc:: mm/memory.c
99   :export:
100
101.. kernel-doc:: mm/page_alloc.c
102.. kernel-doc:: mm/mempolicy.c
103.. kernel-doc:: include/linux/mm_types.h
104   :internal:
105.. kernel-doc:: include/linux/mm_inline.h
106.. kernel-doc:: include/linux/page-flags.h
107.. kernel-doc:: include/linux/mm.h
108   :internal:
109.. kernel-doc:: include/linux/page_ref.h
110.. kernel-doc:: include/linux/mmzone.h
111.. kernel-doc:: mm/util.c
112   :functions: folio_mapping
113
114.. kernel-doc:: mm/rmap.c
115.. kernel-doc:: mm/migrate.c
116.. kernel-doc:: mm/mmap.c
117.. kernel-doc:: mm/kmemleak.c
118.. #kernel-doc:: mm/hmm.c (build warnings)
119.. kernel-doc:: mm/memremap.c
120.. kernel-doc:: mm/hugetlb.c
121.. kernel-doc:: mm/folio.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.c
135.. kernel-doc:: mm/huge_memory.c
136