--------------------- PatchSet 2135 Date: 2001/04/28 01:22:14 Author: akroonmaa Branch: chunked_mempools Tag: (none) Log: some stats depend on memMeters of mempools. allow Meters to be updated even when DISABLE_POOLS falls through to xcalloc/xfree. Members: lib/MemPool.c:1.1.2.5->1.1.2.6 Index: squid/lib/MemPool.c =================================================================== RCS file: /cvsroot/squid-sf//squid/lib/Attic/MemPool.c,v retrieving revision 1.1.2.5 retrieving revision 1.1.2.6 diff -u -r1.1.2.5 -r1.1.2.6 --- squid/lib/MemPool.c 26 Apr 2001 17:13:03 -0000 1.1.2.5 +++ squid/lib/MemPool.c 28 Apr 2001 01:22:14 -0000 1.1.2.6 @@ -331,12 +331,13 @@ calls = pool->free_calls; if (calls) { bytes = pool->obj_size * pool->free_calls; + mem_pool_free_calls += calls; memMeterDel(pool->meter.inuse, calls); +#if !DISABLE_POOLS memMeterAdd(pool->meter.idle, calls); - mem_pool_free_calls += calls; - - memMeterDel(TheMeter.inuse, bytes); memMeterAdd(TheMeter.idle, bytes); +#endif + memMeterDel(TheMeter.inuse, bytes); pool->free_calls = 0; } calls = pool->alloc_calls; @@ -355,9 +356,10 @@ gb_incb(&TheMeter.saved, bytes); gb_incb(&TheMeter.total, bytes); gb_incb(&mem_traffic_volume, bytes); - +#if !DISABLE_POOLS memMeterDel(TheMeter.idle, bytes); memMeterDel(pool->meter.idle, calls); +#endif pool->alloc_calls = 0; } } @@ -373,13 +375,13 @@ pool->idle--; pool->inuse++; - if (++pool->alloc_calls == FLUSH_LIMIT) - memPoolFlushMeters(pool); - assert(pool->inuse <= pool->meter.alloc.level); #else p = xcalloc(1, pool->obj_size); #endif + if (++pool->alloc_calls == FLUSH_LIMIT) + memPoolFlushMeters(pool); + return p; } @@ -393,13 +395,12 @@ pool->idle++; pool->inuse--; - if (++pool->free_calls == FLUSH_LIMIT) - memPoolFlushMeters(pool); - assert(pool->idle <= pool->meter.alloc.level); #else xfree(obj); #endif + ++pool->free_calls; + } /* removes empty Chunks from pool */ @@ -499,7 +500,7 @@ memPoolWasUsed(const MemPool * pool) { assert(pool); - return pool->meter.alloc.hwater_level > 0; + return pool->meter.inuse.hwater_level > 0; } int