2018-08-24 03:01:12 +03:00
|
|
|
======================
|
|
|
|
Memory Management APIs
|
|
|
|
======================
|
|
|
|
|
|
|
|
User Space Memory Access
|
|
|
|
========================
|
|
|
|
|
|
|
|
.. kernel-doc:: arch/x86/include/asm/uaccess.h
|
|
|
|
:internal:
|
|
|
|
|
|
|
|
.. kernel-doc:: arch/x86/lib/usercopy_32.c
|
|
|
|
:export:
|
|
|
|
|
|
|
|
.. kernel-doc:: mm/util.c
|
|
|
|
:functions: get_user_pages_fast
|
|
|
|
|
2018-09-14 12:27:57 +03:00
|
|
|
.. _mm-api-gfp-flags:
|
|
|
|
|
2018-08-24 03:01:19 +03:00
|
|
|
Memory Allocation Controls
|
|
|
|
==========================
|
|
|
|
|
|
|
|
Functions which need to allocate memory often use GFP flags to express
|
|
|
|
how that memory should be allocated. The GFP acronym stands for "get
|
|
|
|
free pages", the underlying memory allocation function. Not every GFP
|
|
|
|
flag is allowed to every function which may allocate memory. Most
|
|
|
|
users will want to use a plain ``GFP_KERNEL``.
|
|
|
|
|
|
|
|
.. kernel-doc:: include/linux/gfp.h
|
|
|
|
:doc: Page mobility and placement hints
|
|
|
|
|
|
|
|
.. kernel-doc:: include/linux/gfp.h
|
|
|
|
:doc: Watermark modifiers
|
|
|
|
|
|
|
|
.. kernel-doc:: include/linux/gfp.h
|
|
|
|
:doc: Reclaim modifiers
|
|
|
|
|
|
|
|
.. kernel-doc:: include/linux/gfp.h
|
2019-01-14 21:32:58 +03:00
|
|
|
:doc: Useful GFP flag combinations
|
2018-08-24 03:01:19 +03:00
|
|
|
|
2018-08-24 03:01:12 +03:00
|
|
|
The Slab Cache
|
|
|
|
==============
|
|
|
|
|
|
|
|
.. kernel-doc:: include/linux/slab.h
|
|
|
|
:internal:
|
|
|
|
|
|
|
|
.. kernel-doc:: mm/slab.c
|
|
|
|
:export:
|
|
|
|
|
2018-12-07 00:13:01 +03:00
|
|
|
.. kernel-doc:: mm/slab_common.c
|
|
|
|
:export:
|
|
|
|
|
2018-08-24 03:01:12 +03:00
|
|
|
.. kernel-doc:: mm/util.c
|
|
|
|
:functions: kfree_const kvmalloc_node kvfree
|
|
|
|
|
2018-11-28 17:45:44 +03:00
|
|
|
Virtually Contiguous Mappings
|
|
|
|
=============================
|
|
|
|
|
|
|
|
.. kernel-doc:: mm/vmalloc.c
|
|
|
|
:export:
|
|
|
|
|
|
|
|
File Mapping and Page Cache
|
|
|
|
===========================
|
2018-08-24 03:01:12 +03:00
|
|
|
|
|
|
|
.. kernel-doc:: mm/readahead.c
|
|
|
|
:export:
|
|
|
|
|
|
|
|
.. kernel-doc:: mm/filemap.c
|
|
|
|
:export:
|
|
|
|
|
2018-11-28 17:45:44 +03:00
|
|
|
.. kernel-doc:: mm/page-writeback.c
|
2018-08-24 03:01:12 +03:00
|
|
|
:export:
|
|
|
|
|
2018-11-28 17:45:44 +03:00
|
|
|
.. kernel-doc:: mm/truncate.c
|
2018-08-24 03:01:12 +03:00
|
|
|
:export:
|
|
|
|
|
2018-11-28 17:45:44 +03:00
|
|
|
Memory pools
|
|
|
|
============
|
2018-08-24 03:01:12 +03:00
|
|
|
|
|
|
|
.. kernel-doc:: mm/mempool.c
|
|
|
|
:export:
|
|
|
|
|
2018-11-28 17:45:44 +03:00
|
|
|
DMA pools
|
|
|
|
=========
|
|
|
|
|
2018-08-24 03:01:12 +03:00
|
|
|
.. kernel-doc:: mm/dmapool.c
|
|
|
|
:export:
|
|
|
|
|
2018-11-28 17:45:44 +03:00
|
|
|
More Memory Management Functions
|
|
|
|
================================
|
2018-08-24 03:01:12 +03:00
|
|
|
|
2018-11-28 17:45:44 +03:00
|
|
|
.. kernel-doc:: mm/memory.c
|
2018-08-24 03:01:12 +03:00
|
|
|
:export:
|
2018-11-28 17:45:44 +03:00
|
|
|
|
|
|
|
.. kernel-doc:: mm/page_alloc.c
|