struct slab *slabp; int ret; 
int ret = 0, i = 0; struct kmem_list3 *l3; 
static int __cache_shrink(kmem_cache_t *cachep){	struct slab *slabp;	int ret;	drain_cpu_caches(cachep);	check_irq_on();	spin_lock_irq(&cachep->spinlock);	for(;;) {		struct list_head *p;		p = cachep->lists.slabs_free.prev;		if (p == &cachep->lists.slabs_free)			break;		slabp = list_entry(cachep->lists.slabs_free.prev, struct slab, list);#if DEBUG		if (slabp->inuse)			BUG();#endif		list_del(&slabp->list);		cachep->lists.free_objects -= cachep->num;		spin_unlock_irq(&cachep->spinlock);		slab_destroy(cachep, slabp);		spin_lock_irq(&cachep->spinlock);	}	ret = !list_empty(&cachep->lists.slabs_full) ||		!list_empty(&cachep->lists.slabs_partial);	spin_unlock_irq(&cachep->spinlock);	return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/e498be7dafd72fd68848c1eef1575aa7c5d658df/slab.c/clean/mm/slab.c