diff options
author | Arnaldo Carvalho de Melo <acme@ghostprotocols.net> | 2005-06-19 01:46:19 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-06-19 01:46:19 -0400 |
commit | 1944972d3bb651474a5021c9da8d0166ae19f1eb (patch) | |
tree | cc638b40d8a7dfb4949d4a84a695ec8915c0fc2b | |
parent | ee57eef99b9e19194677f552ebc0690ec35d62db (diff) |
[SLAB] Introduce kmem_cache_name
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>
-rw-r--r-- | include/linux/slab.h | 1 | ||||
-rw-r--r-- | mm/slab.c | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/slab.h b/include/linux/slab.h index 7d66385ae750..76cf7e60216c 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h | |||
@@ -64,6 +64,7 @@ extern int kmem_cache_shrink(kmem_cache_t *); | |||
64 | extern void *kmem_cache_alloc(kmem_cache_t *, unsigned int __nocast); | 64 | extern void *kmem_cache_alloc(kmem_cache_t *, unsigned int __nocast); |
65 | extern void kmem_cache_free(kmem_cache_t *, void *); | 65 | extern void kmem_cache_free(kmem_cache_t *, void *); |
66 | extern unsigned int kmem_cache_size(kmem_cache_t *); | 66 | extern unsigned int kmem_cache_size(kmem_cache_t *); |
67 | extern const char *kmem_cache_name(kmem_cache_t *); | ||
67 | extern kmem_cache_t *kmem_find_general_cachep(size_t size, int gfpflags); | 68 | extern kmem_cache_t *kmem_find_general_cachep(size_t size, int gfpflags); |
68 | 69 | ||
69 | /* Size description struct for general caches. */ | 70 | /* Size description struct for general caches. */ |
@@ -2620,6 +2620,12 @@ unsigned int kmem_cache_size(kmem_cache_t *cachep) | |||
2620 | } | 2620 | } |
2621 | EXPORT_SYMBOL(kmem_cache_size); | 2621 | EXPORT_SYMBOL(kmem_cache_size); |
2622 | 2622 | ||
2623 | const char *kmem_cache_name(kmem_cache_t *cachep) | ||
2624 | { | ||
2625 | return cachep->name; | ||
2626 | } | ||
2627 | EXPORT_SYMBOL_GPL(kmem_cache_name); | ||
2628 | |||
2623 | struct ccupdate_struct { | 2629 | struct ccupdate_struct { |
2624 | kmem_cache_t *cachep; | 2630 | kmem_cache_t *cachep; |
2625 | struct array_cache *new[NR_CPUS]; | 2631 | struct array_cache *new[NR_CPUS]; |