[SLAB] Introduce kmem_cache_name
authorArnaldo Carvalho de Melo <acme@ghostprotocols.net>
Sun, 19 Jun 2005 05:46:19 +0000 (22:46 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 19 Jun 2005 05:46:19 +0000 (22:46 -0700)
This is for use with slab users that pass a dynamically allocated slab name in
kmem_cache_create, so that before destroying the slab one can retrieve the name
and free its memory.

Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/slab.h
mm/slab.c

index 7d66385ae7506b6d2f2a8155ec8a3200be119f63..76cf7e60216c07b7c602e233c6315f6e3d93f09a 100644 (file)
@@ -64,6 +64,7 @@ extern int kmem_cache_shrink(kmem_cache_t *);
 extern void *kmem_cache_alloc(kmem_cache_t *, unsigned int __nocast);
 extern void kmem_cache_free(kmem_cache_t *, void *);
 extern unsigned int kmem_cache_size(kmem_cache_t *);
+extern const char *kmem_cache_name(kmem_cache_t *);
 extern kmem_cache_t *kmem_find_general_cachep(size_t size, int gfpflags);
 
 /* Size description struct for general caches. */
index 840742641152b91052d5688553f761aaff829be2..c78d343b3c5f909d29090e0608c5fc7ebb3ca146 100644 (file)
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2620,6 +2620,12 @@ unsigned int kmem_cache_size(kmem_cache_t *cachep)
 }
 EXPORT_SYMBOL(kmem_cache_size);
 
+const char *kmem_cache_name(kmem_cache_t *cachep)
+{
+       return cachep->name;
+}
+EXPORT_SYMBOL_GPL(kmem_cache_name);
+
 struct ccupdate_struct {
        kmem_cache_t *cachep;
        struct array_cache *new[NR_CPUS];