--- mm/slub.c | 5 +++++ 1 file changed, 5 insertions(+) Index: slub/mm/slub.c =================================================================== --- slub.orig/mm/slub.c 2007-05-02 23:10:23.000000000 -0700 +++ slub/mm/slub.c 2007-05-03 10:24:26.000000000 -0700 @@ -2157,6 +2157,8 @@ static int __kmem_cache_vacate(struct km leftover = page->inuse; ClearPageActive(page); putback_slab(s, page); + printk(KERN_ERR "__kmem_cache_vacate(%s, %p) leftover=%d\n", + s->name, page, leftover); return leftover; } @@ -2262,6 +2264,8 @@ int kmem_cache_shrink(struct kmem_cache !(s->flags & SLAB_CALLBACK_KICK)) goto out; + printk(KERN_ERR "kmem_cache_shrink(%s) partial=%d\n", + s->name, n->nr_partial); /* Take objects with just a few objects off the tail */ while (n->nr_partial > MAX_PARTIAL) { page = container_of(n->partial.prev, struct page, lru); @@ -2273,6 +2277,7 @@ int kmem_cache_shrink(struct kmem_cache n->nr_partial--; SetPageActive(page); } + printk(KERN_ERR "after removal partial=%d\n", n->nr_partial); out: spin_unlock_irqrestore(&n->list_lock, flags);