[PATCH] slab: kmalloc, kzalloc comments cleanup and fix
- Move comments for kmalloc to right place, currently it near __do_kmalloc - Comments for kzalloc - More detailed comments for kmalloc - Appearance of "kmalloc" and "kzalloc" man pages after "make mandocs" [rdunlap@xenotime.net: simplification] Signed-off-by: Paul Drynoff <pauldrynoff@gmail.com> Acked-by: Randy Dunlap <rdunlap@xenotime.net> Cc: Pekka Enberg <penberg@cs.helsinki.fi> Cc: Manfred Spraul <manfred@colorfullife.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
5a4d436159
commit
800590f523
@@ -117,6 +117,7 @@ X!Ilib/string.c
|
|||||||
<chapter id="mm">
|
<chapter id="mm">
|
||||||
<title>Memory Management in Linux</title>
|
<title>Memory Management in Linux</title>
|
||||||
<sect1><title>The Slab Cache</title>
|
<sect1><title>The Slab Cache</title>
|
||||||
|
!Iinclude/linux/slab.h
|
||||||
!Emm/slab.c
|
!Emm/slab.c
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1><title>User Space Memory Access</title>
|
<sect1><title>User Space Memory Access</title>
|
||||||
|
@@ -86,6 +86,51 @@ extern void *__kmalloc_track_caller(size_t, gfp_t, void*);
|
|||||||
__kmalloc_track_caller(size, flags, __builtin_return_address(0))
|
__kmalloc_track_caller(size, flags, __builtin_return_address(0))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* kmalloc - allocate memory
|
||||||
|
* @size: how many bytes of memory are required.
|
||||||
|
* @flags: the type of memory to allocate.
|
||||||
|
*
|
||||||
|
* kmalloc is the normal method of allocating memory
|
||||||
|
* in the kernel.
|
||||||
|
*
|
||||||
|
* The @flags argument may be one of:
|
||||||
|
*
|
||||||
|
* %GFP_USER - Allocate memory on behalf of user. May sleep.
|
||||||
|
*
|
||||||
|
* %GFP_KERNEL - Allocate normal kernel ram. May sleep.
|
||||||
|
*
|
||||||
|
* %GFP_ATOMIC - Allocation will not sleep.
|
||||||
|
* For example, use this inside interrupt handlers.
|
||||||
|
*
|
||||||
|
* %GFP_HIGHUSER - Allocate pages from high memory.
|
||||||
|
*
|
||||||
|
* %GFP_NOIO - Do not do any I/O at all while trying to get memory.
|
||||||
|
*
|
||||||
|
* %GFP_NOFS - Do not make any fs calls while trying to get memory.
|
||||||
|
*
|
||||||
|
* Also it is possible to set different flags by OR'ing
|
||||||
|
* in one or more of the following additional @flags:
|
||||||
|
*
|
||||||
|
* %__GFP_COLD - Request cache-cold pages instead of
|
||||||
|
* trying to return cache-warm pages.
|
||||||
|
*
|
||||||
|
* %__GFP_DMA - Request memory from the DMA-capable zone.
|
||||||
|
*
|
||||||
|
* %__GFP_HIGH - This allocation has high priority and may use emergency pools.
|
||||||
|
*
|
||||||
|
* %__GFP_HIGHMEM - Allocated memory may be from highmem.
|
||||||
|
*
|
||||||
|
* %__GFP_NOFAIL - Indicate that this allocation is in no way allowed to fail
|
||||||
|
* (think twice before using).
|
||||||
|
*
|
||||||
|
* %__GFP_NORETRY - If memory is not immediately available,
|
||||||
|
* then give up at once.
|
||||||
|
*
|
||||||
|
* %__GFP_NOWARN - If allocation fails, don't issue any warnings.
|
||||||
|
*
|
||||||
|
* %__GFP_REPEAT - If allocation fails initially, try once more before failing.
|
||||||
|
*/
|
||||||
static inline void *kmalloc(size_t size, gfp_t flags)
|
static inline void *kmalloc(size_t size, gfp_t flags)
|
||||||
{
|
{
|
||||||
if (__builtin_constant_p(size)) {
|
if (__builtin_constant_p(size)) {
|
||||||
@@ -111,6 +156,11 @@ found:
|
|||||||
|
|
||||||
extern void *__kzalloc(size_t, gfp_t);
|
extern void *__kzalloc(size_t, gfp_t);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* kzalloc - allocate memory. The memory is set to zero.
|
||||||
|
* @size: how many bytes of memory are required.
|
||||||
|
* @flags: the type of memory to allocate (see kmalloc).
|
||||||
|
*/
|
||||||
static inline void *kzalloc(size_t size, gfp_t flags)
|
static inline void *kzalloc(size_t size, gfp_t flags)
|
||||||
{
|
{
|
||||||
if (__builtin_constant_p(size)) {
|
if (__builtin_constant_p(size)) {
|
||||||
|
20
mm/slab.c
20
mm/slab.c
@@ -3277,26 +3277,10 @@ EXPORT_SYMBOL(kmalloc_node);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* kmalloc - allocate memory
|
* __do_kmalloc - allocate memory
|
||||||
* @size: how many bytes of memory are required.
|
* @size: how many bytes of memory are required.
|
||||||
* @flags: the type of memory to allocate.
|
* @flags: the type of memory to allocate (see kmalloc).
|
||||||
* @caller: function caller for debug tracking of the caller
|
* @caller: function caller for debug tracking of the caller
|
||||||
*
|
|
||||||
* kmalloc is the normal method of allocating memory
|
|
||||||
* in the kernel.
|
|
||||||
*
|
|
||||||
* The @flags argument may be one of:
|
|
||||||
*
|
|
||||||
* %GFP_USER - Allocate memory on behalf of user. May sleep.
|
|
||||||
*
|
|
||||||
* %GFP_KERNEL - Allocate normal kernel ram. May sleep.
|
|
||||||
*
|
|
||||||
* %GFP_ATOMIC - Allocation will not sleep. Use inside interrupt handlers.
|
|
||||||
*
|
|
||||||
* Additionally, the %GFP_DMA flag may be set to indicate the memory
|
|
||||||
* must be suitable for DMA. This can mean different things on different
|
|
||||||
* platforms. For example, on i386, it means that the memory must come
|
|
||||||
* from the first 16MB.
|
|
||||||
*/
|
*/
|
||||||
static __always_inline void *__do_kmalloc(size_t size, gfp_t flags,
|
static __always_inline void *__do_kmalloc(size_t size, gfp_t flags,
|
||||||
void *caller)
|
void *caller)
|
||||||
|
Reference in New Issue
Block a user