kmem_cache_destroy: Can't free all objects cbc7af30 (dcookie_cache)
I've been getting a number of these, perhaps it might be
worthwhile adding the name too.
Index: linux-2.5/mm/slab.c
===================================================================
RCS file: /home/cvs/linux-2.5/mm/slab.c,v
retrieving revision 1.88
diff -u -p -B -r1.88 slab.c
--- linux-2.5/mm/slab.c 11 Jun 2003 07:09:28 -0000 1.88
+++ linux-2.5/mm/slab.c 14 Jun 2003 05:35:25 -0000
@@ -1319,8 +1319,8 @@ int kmem_cache_destroy (kmem_cache_t * c
up(&cache_chain_sem);
if (__cache_shrink(cachep)) {
- printk(KERN_ERR "kmem_cache_destroy: Can't free all objects %p\n",
- cachep);
+ printk(KERN_ERR "kmem_cache_destroy: Can't free all objects %p (%s)\n",
+ cachep, cachep->name);
down(&cache_chain_sem);
list_add(&cachep->next,&cache_chain);
up(&cache_chain_sem);
Zwane Mwaikambo <[email protected]> wrote:
>
> kmem_cache_destroy: Can't free all objects cbc7af30 (dcookie_cache)
>
> I've been getting a number of these, perhaps it might be
> worthwhile adding the name too.
>
> ...
> - printk(KERN_ERR "kmem_cache_destroy: Can't free all objects %p\n",
> - cachep);
> + printk(KERN_ERR "kmem_cache_destroy: Can't free all objects %p (%s)\n",
> + cachep, cachep->name);
yes, but we have a nice little helper for that.
diff -puN mm/slab.c~kmem_cache_destroy-error-print mm/slab.c
--- 25/mm/slab.c~kmem_cache_destroy-error-print 2003-06-14 01:10:37.000000000 -0700
+++ 25-akpm/mm/slab.c 2003-06-14 01:13:12.000000000 -0700
@@ -1374,8 +1374,7 @@ int kmem_cache_destroy (kmem_cache_t * c
up(&cache_chain_sem);
if (__cache_shrink(cachep)) {
- printk(KERN_ERR "kmem_cache_destroy: Can't free all objects %p\n",
- cachep);
+ slab_error(cachep, "Can't free all objects");
down(&cache_chain_sem);
list_add(&cachep->next,&cache_chain);
up(&cache_chain_sem);
_