Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
[linux-2.6] / include / linux / slob_def.h
1 #ifndef __LINUX_SLOB_DEF_H
2 #define __LINUX_SLOB_DEF_H
3
4 void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node);
5
6 static __always_inline void *kmem_cache_alloc(struct kmem_cache *cachep,
7                                               gfp_t flags)
8 {
9         return kmem_cache_alloc_node(cachep, flags, -1);
10 }
11
12 void *__kmalloc_node(size_t size, gfp_t flags, int node);
13
14 static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node)
15 {
16         return __kmalloc_node(size, flags, node);
17 }
18
19 /**
20  * kmalloc - allocate memory
21  * @size: how many bytes of memory are required.
22  * @flags: the type of memory to allocate (see kcalloc).
23  *
24  * kmalloc is the normal method of allocating memory
25  * in the kernel.
26  */
27 static __always_inline void *kmalloc(size_t size, gfp_t flags)
28 {
29         return __kmalloc_node(size, flags, -1);
30 }
31
32 static __always_inline void *__kmalloc(size_t size, gfp_t flags)
33 {
34         return kmalloc(size, flags);
35 }
36
37 #endif /* __LINUX_SLOB_DEF_H */