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