X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=mm%2Fslab.h;h=7deeb449a3013ea279fde16bf6935b9d23ba752a;hb=8e72033f2a489b6c98c4e3c7cc281b1afd6cb85c;hp=db7848caaa25a67b01a1d5318c48b92972722f5c;hpb=e5a876250d05d9708895da3d5408bdf67f1180f3;p=~andy%2Flinux diff --git a/mm/slab.h b/mm/slab.h index db7848caaa2..7deeb449a30 100644 --- a/mm/slab.h +++ b/mm/slab.h @@ -25,9 +25,26 @@ extern enum slab_state slab_state; /* The slab cache mutex protects the management structures during changes */ extern struct mutex slab_mutex; + +/* The list of all slab caches on the system */ extern struct list_head slab_caches; -struct kmem_cache *__kmem_cache_create(const char *name, size_t size, +/* The slab cache that manages slab cache information */ +extern struct kmem_cache *kmem_cache; + +/* Functions provided by the slab allocators */ +extern int __kmem_cache_create(struct kmem_cache *, unsigned long flags); + +#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