xref: /openbmc/linux/Documentation/core-api/mm-api.rst (revision 05cf4fe738242183f1237f1b3a28b4479348c0a1)
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/util.c
50   :functions: kfree_const kvmalloc_node kvfree
51
52More Memory Management Functions
53================================
54
55.. kernel-doc:: mm/readahead.c
56   :export:
57
58.. kernel-doc:: mm/filemap.c
59   :export:
60
61.. kernel-doc:: mm/memory.c
62   :export:
63
64.. kernel-doc:: mm/vmalloc.c
65   :export:
66
67.. kernel-doc:: mm/page_alloc.c
68   :internal:
69
70.. kernel-doc:: mm/mempool.c
71   :export:
72
73.. kernel-doc:: mm/dmapool.c
74   :export:
75
76.. kernel-doc:: mm/page-writeback.c
77   :export:
78
79.. kernel-doc:: mm/truncate.c
80   :export:
81