1*4882a593Smuzhiyun====================== 2*4882a593SmuzhiyunMemory Management APIs 3*4882a593Smuzhiyun====================== 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunUser Space Memory Access 6*4882a593Smuzhiyun======================== 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun.. kernel-doc:: arch/x86/include/asm/uaccess.h 9*4882a593Smuzhiyun :internal: 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun.. kernel-doc:: arch/x86/lib/usercopy_32.c 12*4882a593Smuzhiyun :export: 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun.. kernel-doc:: mm/gup.c 15*4882a593Smuzhiyun :functions: get_user_pages_fast 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun.. _mm-api-gfp-flags: 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunMemory Allocation Controls 20*4882a593Smuzhiyun========================== 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunFunctions which need to allocate memory often use GFP flags to express 23*4882a593Smuzhiyunhow that memory should be allocated. The GFP acronym stands for "get 24*4882a593Smuzhiyunfree pages", the underlying memory allocation function. Not every GFP 25*4882a593Smuzhiyunflag is allowed to every function which may allocate memory. Most 26*4882a593Smuzhiyunusers will want to use a plain ``GFP_KERNEL``. 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun.. kernel-doc:: include/linux/gfp.h 29*4882a593Smuzhiyun :doc: Page mobility and placement hints 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun.. kernel-doc:: include/linux/gfp.h 32*4882a593Smuzhiyun :doc: Watermark modifiers 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun.. kernel-doc:: include/linux/gfp.h 35*4882a593Smuzhiyun :doc: Reclaim modifiers 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun.. kernel-doc:: include/linux/gfp.h 38*4882a593Smuzhiyun :doc: Useful GFP flag combinations 39*4882a593Smuzhiyun 40*4882a593SmuzhiyunThe Slab Cache 41*4882a593Smuzhiyun============== 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun.. kernel-doc:: include/linux/slab.h 44*4882a593Smuzhiyun :internal: 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun.. kernel-doc:: mm/slab.c 47*4882a593Smuzhiyun :export: 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun.. kernel-doc:: mm/slab_common.c 50*4882a593Smuzhiyun :export: 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun.. kernel-doc:: mm/util.c 53*4882a593Smuzhiyun :functions: kfree_const kvmalloc_node kvfree 54*4882a593Smuzhiyun 55*4882a593SmuzhiyunVirtually Contiguous Mappings 56*4882a593Smuzhiyun============================= 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun.. kernel-doc:: mm/vmalloc.c 59*4882a593Smuzhiyun :export: 60*4882a593Smuzhiyun 61*4882a593SmuzhiyunFile Mapping and Page Cache 62*4882a593Smuzhiyun=========================== 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun.. kernel-doc:: mm/readahead.c 65*4882a593Smuzhiyun :export: 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun.. kernel-doc:: mm/filemap.c 68*4882a593Smuzhiyun :export: 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun.. kernel-doc:: mm/page-writeback.c 71*4882a593Smuzhiyun :export: 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun.. kernel-doc:: mm/truncate.c 74*4882a593Smuzhiyun :export: 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun.. kernel-doc:: include/linux/pagemap.h 77*4882a593Smuzhiyun :internal: 78*4882a593Smuzhiyun 79*4882a593SmuzhiyunMemory pools 80*4882a593Smuzhiyun============ 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun.. kernel-doc:: mm/mempool.c 83*4882a593Smuzhiyun :export: 84*4882a593Smuzhiyun 85*4882a593SmuzhiyunDMA pools 86*4882a593Smuzhiyun========= 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun.. kernel-doc:: mm/dmapool.c 89*4882a593Smuzhiyun :export: 90*4882a593Smuzhiyun 91*4882a593SmuzhiyunMore Memory Management Functions 92*4882a593Smuzhiyun================================ 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun.. kernel-doc:: mm/memory.c 95*4882a593Smuzhiyun :export: 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun.. kernel-doc:: mm/page_alloc.c 98