xref: /linux/Documentation/core-api/mm-api.rst (revision bd628c1bed7902ec1f24ba0fe70758949146abbe)
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/util.c
15   :functions: get_user_pages_fast
16
17.. _mm-api-gfp-flags:
18
19Memory Allocation Controls
20==========================
21
22Functions which need to allocate memory often use GFP flags to express
23how that memory should be allocated. The GFP acronym stands for "get
24free pages", the underlying memory allocation function. Not every GFP
25flag is allowed to every function which may allocate memory. Most
26users will want to use a plain ``GFP_KERNEL``.
27
28.. kernel-doc:: include/linux/gfp.h
29   :doc: Page mobility and placement hints
30
31.. kernel-doc:: include/linux/gfp.h
32   :doc: Watermark modifiers
33
34.. kernel-doc:: include/linux/gfp.h
35   :doc: Reclaim modifiers
36
37.. kernel-doc:: include/linux/gfp.h
38   :doc: Common combinations
39
40The Slab Cache
41==============
42
43.. kernel-doc:: include/linux/slab.h
44   :internal:
45
46.. kernel-doc:: mm/slab.c
47   :export:
48
49.. kernel-doc:: mm/slab_common.c
50   :export:
51
52.. kernel-doc:: mm/util.c
53   :functions: kfree_const kvmalloc_node kvfree
54
55Virtually Contiguous Mappings
56=============================
57
58.. kernel-doc:: mm/vmalloc.c
59   :export:
60
61File Mapping and Page Cache
62===========================
63
64.. kernel-doc:: mm/readahead.c
65   :export:
66
67.. kernel-doc:: mm/filemap.c
68   :export:
69
70.. kernel-doc:: mm/page-writeback.c
71   :export:
72
73.. kernel-doc:: mm/truncate.c
74   :export:
75
76Memory pools
77============
78
79.. kernel-doc:: mm/mempool.c
80   :export:
81
82DMA pools
83=========
84
85.. kernel-doc:: mm/dmapool.c
86   :export:
87
88More Memory Management Functions
89================================
90
91.. kernel-doc:: mm/memory.c
92   :export:
93
94.. kernel-doc:: mm/page_alloc.c
95