From: Andrew Morton <akpm@zip.com.au> To: lkml <linux-kernel@vger.kernel.org> Subject: aa-170-drain_cpu_caches Date: Tue, 19 Mar 2002 20:01:54 -0800 A performance tweak (I guess): perform the cross-CPU cache reclaim operation outside the global semaphore. Needs more explanation. ===================================== --- 2.4.19-pre3/mm/slab.c~aa-170-drain_cpu_caches Tue Mar 19 19:49:03 2002 +++ 2.4.19-pre3-akpm/mm/slab.c Tue Mar 19 19:49:03 2002 @@ -916,8 +916,6 @@ static int __kmem_cache_shrink(kmem_cach slab_t *slabp; int ret; - drain_cpu_caches(cachep); - spin_lock_irq(&cachep->spinlock); /* If the cache is growing, stop shrinking. */ @@ -987,6 +985,8 @@ int kmem_cache_destroy (kmem_cache_t * c kmem_cache_t, next); list_del(&cachep->next); up(&cache_chain_sem); + + drain_cpu_caches(cachep); if (__kmem_cache_shrink(cachep)) { printk(KERN_ERR "kmem_cache_destroy: Can't free all objects %p\n", - - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/