xref: /openbmc/linux/Documentation/core-api/mm-api.rst (revision 038a07a5420a59f1291dcf2a506f66335ec1cf9c)
141f35b39SMike Rapoport======================
241f35b39SMike RapoportMemory Management APIs
341f35b39SMike Rapoport======================
441f35b39SMike Rapoport
541f35b39SMike RapoportUser Space Memory Access
641f35b39SMike Rapoport========================
741f35b39SMike Rapoport
841f35b39SMike Rapoport.. kernel-doc:: arch/x86/include/asm/uaccess.h
941f35b39SMike Rapoport   :internal:
1041f35b39SMike Rapoport
1141f35b39SMike Rapoport.. kernel-doc:: arch/x86/lib/usercopy_32.c
1241f35b39SMike Rapoport   :export:
1341f35b39SMike Rapoport
1441f35b39SMike Rapoport.. kernel-doc:: mm/util.c
1541f35b39SMike Rapoport   :functions: get_user_pages_fast
1641f35b39SMike Rapoport
17*038a07a5SMike RapoportMemory Allocation Controls
18*038a07a5SMike Rapoport==========================
19*038a07a5SMike Rapoport
20*038a07a5SMike RapoportFunctions which need to allocate memory often use GFP flags to express
21*038a07a5SMike Rapoporthow that memory should be allocated. The GFP acronym stands for "get
22*038a07a5SMike Rapoportfree pages", the underlying memory allocation function. Not every GFP
23*038a07a5SMike Rapoportflag is allowed to every function which may allocate memory. Most
24*038a07a5SMike Rapoportusers will want to use a plain ``GFP_KERNEL``.
25*038a07a5SMike Rapoport
26*038a07a5SMike Rapoport.. kernel-doc:: include/linux/gfp.h
27*038a07a5SMike Rapoport   :doc: Page mobility and placement hints
28*038a07a5SMike Rapoport
29*038a07a5SMike Rapoport.. kernel-doc:: include/linux/gfp.h
30*038a07a5SMike Rapoport   :doc: Watermark modifiers
31*038a07a5SMike Rapoport
32*038a07a5SMike Rapoport.. kernel-doc:: include/linux/gfp.h
33*038a07a5SMike Rapoport   :doc: Reclaim modifiers
34*038a07a5SMike Rapoport
35*038a07a5SMike Rapoport.. kernel-doc:: include/linux/gfp.h
36*038a07a5SMike Rapoport   :doc: Common combinations
37*038a07a5SMike Rapoport
3841f35b39SMike RapoportThe Slab Cache
3941f35b39SMike Rapoport==============
4041f35b39SMike Rapoport
4141f35b39SMike Rapoport.. kernel-doc:: include/linux/slab.h
4241f35b39SMike Rapoport   :internal:
4341f35b39SMike Rapoport
4441f35b39SMike Rapoport.. kernel-doc:: mm/slab.c
4541f35b39SMike Rapoport   :export:
4641f35b39SMike Rapoport
4741f35b39SMike Rapoport.. kernel-doc:: mm/util.c
4841f35b39SMike Rapoport   :functions: kfree_const kvmalloc_node kvfree
4941f35b39SMike Rapoport
5041f35b39SMike RapoportMore Memory Management Functions
5141f35b39SMike Rapoport================================
5241f35b39SMike Rapoport
5341f35b39SMike Rapoport.. kernel-doc:: mm/readahead.c
5441f35b39SMike Rapoport   :export:
5541f35b39SMike Rapoport
5641f35b39SMike Rapoport.. kernel-doc:: mm/filemap.c
5741f35b39SMike Rapoport   :export:
5841f35b39SMike Rapoport
5941f35b39SMike Rapoport.. kernel-doc:: mm/memory.c
6041f35b39SMike Rapoport   :export:
6141f35b39SMike Rapoport
6241f35b39SMike Rapoport.. kernel-doc:: mm/vmalloc.c
6341f35b39SMike Rapoport   :export:
6441f35b39SMike Rapoport
6541f35b39SMike Rapoport.. kernel-doc:: mm/page_alloc.c
6641f35b39SMike Rapoport   :internal:
6741f35b39SMike Rapoport
6841f35b39SMike Rapoport.. kernel-doc:: mm/mempool.c
6941f35b39SMike Rapoport   :export:
7041f35b39SMike Rapoport
7141f35b39SMike Rapoport.. kernel-doc:: mm/dmapool.c
7241f35b39SMike Rapoport   :export:
7341f35b39SMike Rapoport
7441f35b39SMike Rapoport.. kernel-doc:: mm/page-writeback.c
7541f35b39SMike Rapoport   :export:
7641f35b39SMike Rapoport
7741f35b39SMike Rapoport.. kernel-doc:: mm/truncate.c
7841f35b39SMike Rapoport   :export:
79