Merge tag 'io_uring-5.11-2021-01-16' of git://git.kernel.dk/linux-block
[linux/fpc-iii.git] / Documentation / core-api / mm-api.rst
blob2adffb3f7914d42d740e099eb44b4b1028d3ef36
1 ======================
2 Memory Management APIs
3 ======================
5 User Space Memory Access
6 ========================
8 .. kernel-doc:: arch/x86/include/asm/uaccess.h
9    :internal:
11 .. kernel-doc:: arch/x86/lib/usercopy_32.c
12    :export:
14 .. kernel-doc:: mm/gup.c
15    :functions: get_user_pages_fast
17 .. _mm-api-gfp-flags:
19 Memory Allocation Controls
20 ==========================
22 Functions which need to allocate memory often use GFP flags to express
23 how that memory should be allocated. The GFP acronym stands for "get
24 free pages", the underlying memory allocation function. Not every GFP
25 flag is allowed to every function which may allocate memory. Most
26 users will want to use a plain ``GFP_KERNEL``.
28 .. kernel-doc:: include/linux/gfp.h
29    :doc: Page mobility and placement hints
31 .. kernel-doc:: include/linux/gfp.h
32    :doc: Watermark modifiers
34 .. kernel-doc:: include/linux/gfp.h
35    :doc: Reclaim modifiers
37 .. kernel-doc:: include/linux/gfp.h
38    :doc: Useful GFP flag combinations
40 The Slab Cache
41 ==============
43 .. kernel-doc:: include/linux/slab.h
44    :internal:
46 .. kernel-doc:: mm/slab.c
47    :export:
49 .. kernel-doc:: mm/slab_common.c
50    :export:
52 .. kernel-doc:: mm/util.c
53    :functions: kfree_const kvmalloc_node kvfree
55 Virtually Contiguous Mappings
56 =============================
58 .. kernel-doc:: mm/vmalloc.c
59    :export:
61 File Mapping and Page Cache
62 ===========================
64 .. kernel-doc:: mm/readahead.c
65    :export:
67 .. kernel-doc:: mm/filemap.c
68    :export:
70 .. kernel-doc:: mm/page-writeback.c
71    :export:
73 .. kernel-doc:: mm/truncate.c
74    :export:
76 .. kernel-doc:: include/linux/pagemap.h
77    :internal:
79 Memory pools
80 ============
82 .. kernel-doc:: mm/mempool.c
83    :export:
85 DMA pools
86 =========
88 .. kernel-doc:: mm/dmapool.c
89    :export:
91 More Memory Management Functions
92 ================================
94 .. kernel-doc:: mm/memory.c
95    :export:
97 .. kernel-doc:: mm/page_alloc.c