From 529c593ece216e4aaffd36bd940cb94f1fa63129 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Wed, 23 Feb 2000 00:40:54 +0000 Subject: Merge with 2.3.43. I did ignore all modifications to the qlogicisp.c driver due to the Origin A64 hacks. --- mm/slab.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'mm/slab.c') diff --git a/mm/slab.c b/mm/slab.c index 7375435ad..3dbbdc011 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -114,7 +114,7 @@ /* If there is a different PAGE_SIZE around, and it works with this allocator, * then change the following. */ -#if (PAGE_SIZE != 8192 && PAGE_SIZE != 4096 && PAGE_SIZE != 32768) +#if (PAGE_SIZE != 8192 && PAGE_SIZE != 4096 && PAGE_SIZE != 16384 && PAGE_SIZE != 32768) #error Your page size is probably not correctly supported - please check #endif @@ -1880,11 +1880,10 @@ next: } while (--scan && searchp != clock_searchp); clock_searchp = searchp; - up(&cache_chain_sem); if (!best_cachep) { /* couldn't find anything to reap */ - return; + goto out; } spin_lock_irq(&best_cachep->c_spinlock); @@ -1918,6 +1917,8 @@ good_dma: } dma_fail: spin_unlock_irq(&best_cachep->c_spinlock); +out: + up(&cache_chain_sem); return; } @@ -2006,14 +2007,14 @@ get_slabinfo(char *buf) unsigned long allocs = cachep->c_num_allocations; errors = (unsigned long) atomic_read(&cachep->c_errors); spin_unlock_irqrestore(&cachep->c_spinlock, save_flags); - len += sprintf(buf+len, "%-16s %6lu %6lu %4lu %4lu %4lu %6lu %7lu %5lu %4lu %4lu\n", - cachep->c_name, active_objs, num_objs, active_slabs, num_slabs, + len += sprintf(buf+len, "%-16s %6lu %6lu %6lu %4lu %4lu %4lu %6lu %7lu %5lu %4lu %4lu\n", + cachep->c_name, active_objs, num_objs, cachep->c_offset, active_slabs, num_slabs, (1<c_gfporder)*num_slabs, high, allocs, grown, reaped, errors); } #else spin_unlock_irqrestore(&cachep->c_spinlock, save_flags); - len += sprintf(buf+len, "%-17s %6lu %6lu\n", cachep->c_name, active_objs, num_objs); + len += sprintf(buf+len, "%-17s %6lu %6lu %6lu\n", cachep->c_name, active_objs, num_objs, cachep->c_offset); #endif /* SLAB_STATS */ } while ((cachep = cachep->c_nextp) != &cache_cache); up(&cache_chain_sem); -- cgit v1.2.3