blob: 2adffb3f7914d42d740e099eb44b4b1028d3ef36 [file] [log] [blame]
Mike Rapoport41f35b32018-08-23 17:01:12 -07001======================
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
Jonathan Corbetcc84ac32019-10-01 08:47:47 -060014.. kernel-doc:: mm/gup.c
Mike Rapoport41f35b32018-08-23 17:01:12 -070015 :functions: get_user_pages_fast
16
Mike Rapoport09700f82018-09-14 12:27:57 +030017.. _mm-api-gfp-flags:
18
Mike Rapoport038a07a2018-08-23 17:01:19 -070019Memory 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
Mike Rapoport80a76c72019-01-14 20:32:58 +020038 :doc: Useful GFP flag combinations
Mike Rapoport038a07a2018-08-23 17:01:19 -070039
Mike Rapoport41f35b32018-08-23 17:01:12 -070040The Slab Cache
41==============
42
43.. kernel-doc:: include/linux/slab.h
44 :internal:
45
46.. kernel-doc:: mm/slab.c
47 :export:
48
Mike Rapoport54a67c72018-12-06 23:13:01 +020049.. kernel-doc:: mm/slab_common.c
50 :export:
51
Mike Rapoport41f35b32018-08-23 17:01:12 -070052.. kernel-doc:: mm/util.c
53 :functions: kfree_const kvmalloc_node kvfree
54
Mike Rapoport2f7e6f62018-11-28 16:45:44 +020055Virtually Contiguous Mappings
56=============================
57
58.. kernel-doc:: mm/vmalloc.c
59 :export:
60
61File Mapping and Page Cache
62===========================
Mike Rapoport41f35b32018-08-23 17:01:12 -070063
64.. kernel-doc:: mm/readahead.c
65 :export:
66
67.. kernel-doc:: mm/filemap.c
68 :export:
69
Mike Rapoport41f35b32018-08-23 17:01:12 -070070.. kernel-doc:: mm/page-writeback.c
71 :export:
72
73.. kernel-doc:: mm/truncate.c
74 :export:
Mike Rapoport2f7e6f62018-11-28 16:45:44 +020075
Matthew Wilcox (Oracle)767e5ee2020-04-01 21:07:55 -070076.. kernel-doc:: include/linux/pagemap.h
77 :internal:
78
Mike Rapoport2f7e6f62018-11-28 16:45:44 +020079Memory pools
80============
81
82.. kernel-doc:: mm/mempool.c
83 :export:
84
85DMA pools
86=========
87
88.. kernel-doc:: mm/dmapool.c
89 :export:
90
91More Memory Management Functions
92================================
93
94.. kernel-doc:: mm/memory.c
95 :export:
96
97.. kernel-doc:: mm/page_alloc.c