Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
3870a237
Commit
3870a237
authored
Nov 20, 2018
by
Jonathan Corbet
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'kmalloc' into docs-next
jc: fixed conflict with willy's memory-allocation tag patch.
parents
acf0f57a
01598ba6
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
28 deletions
+27
-28
include/linux/slab.h
include/linux/slab.h
+27
-28
No files found.
include/linux/slab.h
View file @
3870a237
...
...
@@ -486,48 +486,47 @@ static __always_inline void *kmalloc_large(size_t size, gfp_t flags)
* kmalloc is the normal method of allocating memory
* for objects smaller than page size in the kernel.
*
* The @flags argument may be one of:
* The @flags argument may be one of the GFP flags defined at
* include/linux/gfp.h and described at
* :ref:`Documentation/core-api/mm-api.rst <mm-api-gfp-flags>`
*
* %GFP_USER - Allocate memory on behalf of user. May sleep.
* The recommended usage of the @flags is described at
* :ref:`Documentation/core-api/memory-allocation.rst <memory-allocation>`
*
*
%GFP_KERNEL - Allocate normal kernel ram. May sleep.
*
Below is a brief outline of the most useful GFP flags
*
* %GFP_
ATOMIC - Allocation will not sleep. May use emergency pools.
*
For example, use this inside interrupt handlers
.
* %GFP_
KERNEL
*
Allocate normal kernel ram. May sleep
.
*
* %GFP_HIGHUSER - Allocate pages from high memory.
* %GFP_NOWAIT
* Allocation will not sleep.
*
* %GFP_NOIO - Do not do any I/O at all while trying to get memory.
* %GFP_ATOMIC
* Allocation will not sleep. May use emergency pools.
*
* %GFP_NOFS - Do not make any fs calls while trying to get memory.
*
* %GFP_NOWAIT - Allocation will not sleep.
*
* %__GFP_THISNODE - Allocate node-local memory only.
*
* %GFP_DMA - Allocation suitable for DMA.
* Should only be used for kmalloc() caches. Otherwise, use a
* slab created with SLAB_DMA.
* %GFP_HIGHUSER
* Allocate memory from high memory on behalf of user.
*
* Also it is possible to set different flags by OR'ing
* in one or more of the following additional @flags:
*
* %__GFP_HIGH - This allocation has high priority and may use emergency pools.
*
* %__GFP_NOFAIL - Indicate that this allocation is in no way allowed to fail
* (think twice before using).
* %__GFP_HIGH
* This allocation has high priority and may use emergency pools.
*
* %__GFP_NORETRY - If memory is not immediately available,
* then give up at once.
* %__GFP_NOFAIL
* Indicate that this allocation is in no way allowed to fail
* (think twice before using).
*
* %__GFP_NOWARN - If allocation fails, don't issue any warnings.
* %__GFP_NORETRY
* If memory is not immediately available,
* then give up at once.
*
* %__GFP_
RETRY_MAYFAIL - Try really hard to succeed the allocation but fail
*
eventually
.
* %__GFP_
NOWARN
*
If allocation fails, don't issue any warnings
.
*
*
There are other flags available as well, but these are not intended
*
for general use, and so are not documented here. For a full list of
*
potential flags, always refer to linux/gfp.h
.
*
%__GFP_RETRY_MAYFAIL
*
Try really hard to succeed the allocation but fail
*
eventually
.
*/
static
__always_inline
void
*
kmalloc
(
size_t
size
,
gfp_t
flags
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment