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