diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2006-07-03 10:25:08 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-07-03 10:25:08 -0400 |
commit | 0a1340c185734a57fbf4775927966ad4a1347b02 (patch) | |
tree | d9ed8f0dd809a7c542a3356601125ea5b5aaa804 /include/linux/slab.h | |
parent | af18ddb8864b096e3ed4732e2d4b21c956dcfe3a (diff) | |
parent | 29454dde27d8e340bb1987bad9aa504af7081eba (diff) |
Merge rsync://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts:
include/linux/kernel.h
Diffstat (limited to 'include/linux/slab.h')
-rw-r--r-- | include/linux/slab.h | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/include/linux/slab.h b/include/linux/slab.h index 2d985d59c7b8..45ad55b70d1c 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h | |||
@@ -11,7 +11,6 @@ | |||
11 | 11 | ||
12 | typedef struct kmem_cache kmem_cache_t; | 12 | typedef struct kmem_cache kmem_cache_t; |
13 | 13 | ||
14 | #include <linux/config.h> /* kmalloc_sizes.h needs CONFIG_ options */ | ||
15 | #include <linux/gfp.h> | 14 | #include <linux/gfp.h> |
16 | #include <linux/init.h> | 15 | #include <linux/init.h> |
17 | #include <linux/types.h> | 16 | #include <linux/types.h> |
@@ -87,6 +86,51 @@ extern void *__kmalloc_track_caller(size_t, gfp_t, void*); | |||
87 | __kmalloc_track_caller(size, flags, __builtin_return_address(0)) | 86 | __kmalloc_track_caller(size, flags, __builtin_return_address(0)) |
88 | #endif | 87 | #endif |
89 | 88 | ||
89 | /** | ||
90 | * kmalloc - allocate memory | ||
91 | * @size: how many bytes of memory are required. | ||
92 | * @flags: the type of memory to allocate. | ||
93 | * | ||
94 | * kmalloc is the normal method of allocating memory | ||
95 | * in the kernel. | ||
96 | * | ||
97 | * The @flags argument may be one of: | ||
98 | * | ||
99 | * %GFP_USER - Allocate memory on behalf of user. May sleep. | ||
100 | * | ||
101 | * %GFP_KERNEL - Allocate normal kernel ram. May sleep. | ||
102 | * | ||
103 | * %GFP_ATOMIC - Allocation will not sleep. | ||
104 | * For example, use this inside interrupt handlers. | ||
105 | * | ||
106 | * %GFP_HIGHUSER - Allocate pages from high memory. | ||
107 | * | ||
108 | * %GFP_NOIO - Do not do any I/O at all while trying to get memory. | ||
109 | * | ||
110 | * %GFP_NOFS - Do not make any fs calls while trying to get memory. | ||
111 | * | ||
112 | * Also it is possible to set different flags by OR'ing | ||
113 | * in one or more of the following additional @flags: | ||
114 | * | ||
115 | * %__GFP_COLD - Request cache-cold pages instead of | ||
116 | * trying to return cache-warm pages. | ||
117 | * | ||
118 | * %__GFP_DMA - Request memory from the DMA-capable zone. | ||
119 | * | ||
120 | * %__GFP_HIGH - This allocation has high priority and may use emergency pools. | ||
121 | * | ||
122 | * %__GFP_HIGHMEM - Allocated memory may be from highmem. | ||
123 | * | ||
124 | * %__GFP_NOFAIL - Indicate that this allocation is in no way allowed to fail | ||
125 | * (think twice before using). | ||
126 | * | ||
127 | * %__GFP_NORETRY - If memory is not immediately available, | ||
128 | * then give up at once. | ||
129 | * | ||
130 | * %__GFP_NOWARN - If allocation fails, don't issue any warnings. | ||
131 | * | ||
132 | * %__GFP_REPEAT - If allocation fails initially, try once more before failing. | ||
133 | */ | ||
90 | static inline void *kmalloc(size_t size, gfp_t flags) | 134 | static inline void *kmalloc(size_t size, gfp_t flags) |
91 | { | 135 | { |
92 | if (__builtin_constant_p(size)) { | 136 | if (__builtin_constant_p(size)) { |
@@ -112,6 +156,11 @@ found: | |||
112 | 156 | ||
113 | extern void *__kzalloc(size_t, gfp_t); | 157 | extern void *__kzalloc(size_t, gfp_t); |
114 | 158 | ||
159 | /** | ||
160 | * kzalloc - allocate memory. The memory is set to zero. | ||
161 | * @size: how many bytes of memory are required. | ||
162 | * @flags: the type of memory to allocate (see kmalloc). | ||
163 | */ | ||
115 | static inline void *kzalloc(size_t size, gfp_t flags) | 164 | static inline void *kzalloc(size_t size, gfp_t flags) |
116 | { | 165 | { |
117 | if (__builtin_constant_p(size)) { | 166 | if (__builtin_constant_p(size)) { |