diff options
Diffstat (limited to 'include/linux/slab.h')
| -rw-r--r-- | include/linux/slab.h | 35 | 
1 files changed, 35 insertions, 0 deletions
| diff --git a/include/linux/slab.h b/include/linux/slab.h index d1ea4051b996..1fb77a9cc148 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h | |||
| @@ -53,6 +53,8 @@ typedef struct kmem_cache kmem_cache_t; | |||
| 53 | #define SLAB_CTOR_ATOMIC 0x002UL /* tell constructor it can't sleep */ | 53 | #define SLAB_CTOR_ATOMIC 0x002UL /* tell constructor it can't sleep */ | 
| 54 | #define SLAB_CTOR_VERIFY 0x004UL /* tell constructor it's a verify call */ | 54 | #define SLAB_CTOR_VERIFY 0x004UL /* tell constructor it's a verify call */ | 
| 55 | 55 | ||
| 56 | #ifndef CONFIG_SLOB | ||
| 57 | |||
| 56 | /* prototypes */ | 58 | /* prototypes */ | 
| 57 | extern void __init kmem_cache_init(void); | 59 | extern void __init kmem_cache_init(void); | 
| 58 | 60 | ||
| @@ -134,6 +136,39 @@ static inline void *kmalloc_node(size_t size, gfp_t flags, int node) | |||
| 134 | extern int FASTCALL(kmem_cache_reap(int)); | 136 | extern int FASTCALL(kmem_cache_reap(int)); | 
| 135 | extern int FASTCALL(kmem_ptr_validate(kmem_cache_t *cachep, void *ptr)); | 137 | extern int FASTCALL(kmem_ptr_validate(kmem_cache_t *cachep, void *ptr)); | 
| 136 | 138 | ||
| 139 | #else /* CONFIG_SLOB */ | ||
| 140 | |||
| 141 | /* SLOB allocator routines */ | ||
| 142 | |||
| 143 | void kmem_cache_init(void); | ||
| 144 | struct kmem_cache *kmem_find_general_cachep(size_t, gfp_t gfpflags); | ||
| 145 | struct kmem_cache *kmem_cache_create(const char *c, size_t, size_t, | ||
| 146 | unsigned long, | ||
| 147 | void (*)(void *, struct kmem_cache *, unsigned long), | ||
| 148 | void (*)(void *, struct kmem_cache *, unsigned long)); | ||
| 149 | int kmem_cache_destroy(struct kmem_cache *c); | ||
| 150 | void *kmem_cache_alloc(struct kmem_cache *c, gfp_t flags); | ||
| 151 | void kmem_cache_free(struct kmem_cache *c, void *b); | ||
| 152 | const char *kmem_cache_name(struct kmem_cache *); | ||
| 153 | void *kmalloc(size_t size, gfp_t flags); | ||
| 154 | void *kzalloc(size_t size, gfp_t flags); | ||
| 155 | void kfree(const void *m); | ||
| 156 | unsigned int ksize(const void *m); | ||
| 157 | unsigned int kmem_cache_size(struct kmem_cache *c); | ||
| 158 | |||
| 159 | static inline void *kcalloc(size_t n, size_t size, gfp_t flags) | ||
| 160 | { | ||
| 161 | return kzalloc(n * size, flags); | ||
| 162 | } | ||
| 163 | |||
| 164 | #define kmem_cache_shrink(d) (0) | ||
| 165 | #define kmem_cache_reap(a) | ||
| 166 | #define kmem_ptr_validate(a, b) (0) | ||
| 167 | #define kmem_cache_alloc_node(c, f, n) kmem_cache_alloc(c, f) | ||
| 168 | #define kmalloc_node(s, f, n) kmalloc(s, f) | ||
| 169 | |||
| 170 | #endif /* CONFIG_SLOB */ | ||
| 171 | |||
| 137 | /* System wide caches */ | 172 | /* System wide caches */ | 
| 138 | extern kmem_cache_t *vm_area_cachep; | 173 | extern kmem_cache_t *vm_area_cachep; | 
| 139 | extern kmem_cache_t *names_cachep; | 174 | extern kmem_cache_t *names_cachep; | 
