The patch titled slab: kmalloc, kzalloc comments cleanup and fix has been added to the -mm tree. Its filename is slab-kmalloc-kzalloc-comments-cleanup-and-fix.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: slab: kmalloc, kzalloc comments cleanup and fix From: Paul Drynoff <pauldrynoff@xxxxxxxxx> - 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@xxxxxxxxxxxx: simplification] Signed-off-by: Paul Drynoff <pauldrynoff@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxxxxxx> Cc: Manfred Spraul <manfred@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- Documentation/DocBook/kernel-api.tmpl | 1 include/linux/slab.h | 50 ++++++++++++++++++++++++ mm/slab.c | 20 --------- 3 files changed, 53 insertions(+), 18 deletions(-) diff -puN Documentation/DocBook/kernel-api.tmpl~slab-kmalloc-kzalloc-comments-cleanup-and-fix Documentation/DocBook/kernel-api.tmpl --- a/Documentation/DocBook/kernel-api.tmpl~slab-kmalloc-kzalloc-comments-cleanup-and-fix +++ a/Documentation/DocBook/kernel-api.tmpl @@ -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> diff -puN include/linux/slab.h~slab-kmalloc-kzalloc-comments-cleanup-and-fix include/linux/slab.h --- a/include/linux/slab.h~slab-kmalloc-kzalloc-comments-cleanup-and-fix +++ a/include/linux/slab.h @@ -86,6 +86,51 @@ extern void *__kmalloc_track_caller(size __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 @@ found: 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)) { diff -puN mm/slab.c~slab-kmalloc-kzalloc-comments-cleanup-and-fix mm/slab.c --- a/mm/slab.c~slab-kmalloc-kzalloc-comments-cleanup-and-fix +++ a/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) _ Patches currently in -mm which might be from pauldrynoff@xxxxxxxxx are slab-kmalloc-kzalloc-comments-cleanup-and-fix.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html