GNU Linux-libre 4.19.264-gnu1
[releases.git] / Documentation / core-api / mm-api.rst
1 ======================
2 Memory Management APIs
3 ======================
4
5 User 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 Memory Allocation Controls
18 ==========================
19
20 Functions which need to allocate memory often use GFP flags to express
21 how that memory should be allocated. The GFP acronym stands for "get
22 free pages", the underlying memory allocation function. Not every GFP
23 flag is allowed to every function which may allocate memory. Most
24 users 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
38 The 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
50 More 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: