[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:
parent
5a4d436159
commit
800590f523
3 changed files with 53 additions and 18 deletions
|
@ -117,6 +117,7 @@ X!Ilib/string.c
|
|||
<chapter id="mm">
|
||||
<title>Memory Management in Linux</title>
|
||||
<sect1><title>The Slab Cache</title>
|
||||
!Iinclude/linux/slab.h
|
||||
!Emm/slab.c
|
||||
</sect1>
|
||||
<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))
|
||||
#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)
|
||||
{
|
||||
if (__builtin_constant_p(size)) {
|
||||
|
@ -111,6 +156,11 @@ static inline void *kmalloc(size_t size, gfp_t flags)
|
|||
|
||||
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)
|
||||
{
|
||||
if (__builtin_constant_p(size)) {
|
||||
|
|
20
mm/slab.c
20
mm/slab.c
|
@ -3277,26 +3277,10 @@ EXPORT_SYMBOL(kmalloc_node);
|
|||
#endif
|
||||
|
||||
/**
|
||||
* kmalloc - allocate memory
|
||||
* __do_kmalloc - allocate memory
|
||||
* @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
|
||||
*
|
||||
* 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,
|
||||
void *caller)
|
||||
|
|
Loading…
Reference in a new issue