blob: 62667f72c2ef795c128b58d75a141e65beb16a35 [file] [log] [blame]
Paul Mundt6193a2f2007-07-15 23:38:22 -07001#ifndef __LINUX_SLOB_DEF_H
2#define __LINUX_SLOB_DEF_H
3
David Woodhousebac49ce2010-05-19 12:01:43 +01004#ifndef ARCH_KMALLOC_MINALIGN
5#define ARCH_KMALLOC_MINALIGN __alignof__(unsigned long)
6#endif
7
8#ifndef ARCH_SLAB_MINALIGN
9#define ARCH_SLAB_MINALIGN __alignof__(unsigned long)
10#endif
11
Paul Mundt6193a2f2007-07-15 23:38:22 -070012void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node);
13
Eduard - Gabriel Munteanu3eae2cb22008-08-10 20:14:07 +030014static __always_inline void *kmem_cache_alloc(struct kmem_cache *cachep,
15 gfp_t flags)
Paul Mundt6193a2f2007-07-15 23:38:22 -070016{
17 return kmem_cache_alloc_node(cachep, flags, -1);
18}
19
20void *__kmalloc_node(size_t size, gfp_t flags, int node);
21
Eduard - Gabriel Munteanu3eae2cb22008-08-10 20:14:07 +030022static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node)
Paul Mundt6193a2f2007-07-15 23:38:22 -070023{
24 return __kmalloc_node(size, flags, node);
25}
26
27/**
28 * kmalloc - allocate memory
29 * @size: how many bytes of memory are required.
30 * @flags: the type of memory to allocate (see kcalloc).
31 *
32 * kmalloc is the normal method of allocating memory
33 * in the kernel.
34 */
Eduard - Gabriel Munteanu3eae2cb22008-08-10 20:14:07 +030035static __always_inline void *kmalloc(size_t size, gfp_t flags)
Paul Mundt6193a2f2007-07-15 23:38:22 -070036{
37 return __kmalloc_node(size, flags, -1);
38}
39
Eduard - Gabriel Munteanu3eae2cb22008-08-10 20:14:07 +030040static __always_inline void *__kmalloc(size_t size, gfp_t flags)
Paul Mundt6193a2f2007-07-15 23:38:22 -070041{
42 return kmalloc(size, flags);
43}
44
Paul Mundt6193a2f2007-07-15 23:38:22 -070045#endif /* __LINUX_SLOB_DEF_H */