diff options
author | Christoph Lameter <cl@linux.com> | 2012-09-05 00:18:32 +0000 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2012-09-05 12:00:36 +0300 |
commit | cbb79694d592e9a76880f6ef6db8feccaeee1c32 (patch) | |
tree | 6eb60a253bfde73214d4dc07bed860f17f737537 /mm/slab.h | |
parent | db265eca77000c5dafc5608975afe8dafb2a02d5 (diff) | |
download | blackbird-op-linux-cbb79694d592e9a76880f6ef6db8feccaeee1c32.tar.gz blackbird-op-linux-cbb79694d592e9a76880f6ef6db8feccaeee1c32.zip |
mm/sl[aou]b: Do slab aliasing call from common code
The slab aliasing logic causes some strange contortions in slub. So add
a call to deal with aliases to slab_common.c but disable it for other
slab allocators by providng stubs that fail to create aliases.
Full general support for aliases will require additional cleanup passes
and more standardization of fields in kmem_cache.
Signed-off-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'mm/slab.h')
-rw-r--r-- | mm/slab.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/mm/slab.h b/mm/slab.h index c4f9a361bd18..84c28f451d2d 100644 --- a/mm/slab.h +++ b/mm/slab.h @@ -36,6 +36,16 @@ extern struct kmem_cache *kmem_cache; struct kmem_cache *__kmem_cache_create(const char *name, size_t size, size_t align, unsigned long flags, void (*ctor)(void *)); +#ifdef CONFIG_SLUB +struct kmem_cache *__kmem_cache_alias(const char *name, size_t size, + size_t align, unsigned long flags, void (*ctor)(void *)); +#else +static inline struct kmem_cache *__kmem_cache_alias(const char *name, size_t size, + size_t align, unsigned long flags, void (*ctor)(void *)) +{ return NULL; } +#endif + + int __kmem_cache_shutdown(struct kmem_cache *); #endif |