--------------------- PatchSet 2172 Date: 2001/05/01 00:05:29 Author: akroonmaa Branch: chunked_mempools Tag: (none) Log: cleanups Members: lib/MemPool.c:1.1.2.12->1.1.2.13 src/MemPoolStats.c:1.1.2.15->1.1.2.16 Index: squid/lib/MemPool.c =================================================================== RCS file: /cvsroot/squid-sf//squid/lib/Attic/MemPool.c,v retrieving revision 1.1.2.12 retrieving revision 1.1.2.13 diff -u -r1.1.2.12 -r1.1.2.13 --- squid/lib/MemPool.c 30 Apr 2001 23:20:04 -0000 1.1.2.12 +++ squid/lib/MemPool.c 1 May 2001 00:05:29 -0000 1.1.2.13 @@ -475,14 +475,6 @@ return; } -void -memPoolShrink(MemPool * pool, ssize_t new_limit) -{ - assert(pool); - assert(new_limit >= 0); - memPoolClean(pool, 0); -} - int memPoolInUseCount(const MemPool * pool) { Index: squid/src/MemPoolStats.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/Attic/MemPoolStats.c,v retrieving revision 1.1.2.15 retrieving revision 1.1.2.16 diff -u -r1.1.2.15 -r1.1.2.16 --- squid/src/MemPoolStats.c 30 Apr 2001 23:02:41 -0000 1.1.2.15 +++ squid/src/MemPoolStats.c 1 May 2001 00:05:29 -0000 1.1.2.16 @@ -53,7 +53,6 @@ /* local prototypes */ static void memPoolDescribe(const MemPool * pool); -static void memShrink(ssize_t new_limit); static void memPoolReport(const MemPool * pool, int freecount, int partial, StoreEntry * e); static void memPoolFlushMetersAllPools(void); @@ -84,10 +83,6 @@ { size_t new_pool_limit = mem_idle_limit; /* set to configured value first */ -#if PURIFY - debug(63, 1) ("Disabling Memory pools under purify\n"); - Config.onoff.mem_pools = 0; -#endif if (!Config.onoff.mem_pools) new_pool_limit = 0; else if (Config.MemPools.limit > 0) @@ -97,7 +92,7 @@ /* shrink memory pools if needed */ if (TheMeter.idle.level > new_pool_limit) { debug(63, 1) ("Shrinking idle mem pools to %.2f MB\n", toMB(new_pool_limit)); -// memShrink(new_pool_limit); + /* will do that from event handler later */ } mem_idle_limit = new_pool_limit; } @@ -131,9 +126,8 @@ { int i; MemPool *pool; - int cleanable = 0; int shift = 1; - int maxage = clean_interval; + time_t maxage = clean_interval; memPoolFlushMetersAllPools(); if (TheMeter.idle.level > mem_idle_limit) @@ -141,8 +135,7 @@ for (i = 0; i < Pools.count; i++) { pool = Pools.items[i]; if (pool->meter.idle.level > (pool->capacity << shift)) { - memPoolClean(pool, (time_t) maxage); - cleanable++; + memPoolClean(pool, maxage); } } eventAdd("memPoolCleanIdlePools", memPoolCleanIdlePools, NULL, clean_interval, 1); @@ -174,32 +167,17 @@ } if (dirty_count) debug(63, 2) ("memCleanModule: %d pools are left dirty\n", dirty_count); - /* we clean the stack anyway */ } -#if UNUSED_CODE -/* XXX need to rewrite */ +/* to-do: make debug level a parameter? */ static void -memShrink(ssize_t new_limit) +memPoolDescribe(const MemPool * pool) { - ssize_t start_limit = TheMeter.idle.level; - int i; - assert(start_limit >= 0 && new_limit >= 0); - debug(63, 1) ("memShrink: started with %d KB goal: %d KB\n", - toKB(TheMeter.idle.level), toKB(new_limit)); - /* first phase: cut proportionally to the pool idle size */ - for (i = 0; i < Pools.count && TheMeter.idle.level > new_limit; ++i) { - MemPool *pool = Pools.items[i]; - const ssize_t target_pool_size = (size_t) ((double) pool->meter.idle.level * new_limit) / start_limit; - memPoolShrink(pool, target_pool_size); - } - debug(63, 1) ("memShrink: 1st phase done with %d KB left\n", toKB(TheMeter.idle.level)); - /* second phase: cut to 0 */ - for (i = 0; i < Pools.count && TheMeter.idle.level > new_limit; ++i) - memPoolShrink(Pools.items[i], 0); - debug(63, 1) ("memShrink: 2nd phase done with %d KB left\n", toKB(TheMeter.idle.level)); + assert(pool); + debug(63, 2) ("%-20s: %6d x %4d bytes = %5d KB\n", + pool->label, memPoolInUseCount(pool), pool->obj_size, + toKB(pool->obj_size * pool->meter.inuse.level)); } -#endif /* MemPoolMeter */ @@ -236,16 +214,6 @@ ((MemPoolMeter *) pm)->gb_osaved.count = pm->gb_saved.count; } -/* to-do: make debug level a parameter? */ -static void -memPoolDescribe(const MemPool * pool) -{ - assert(pool); - debug(63, 2) ("%-20s: %6d x %4d bytes = %5d KB\n", - pool->label, memPoolInUseCount(pool), pool->obj_size, - toKB(pool->obj_size * pool->meter.inuse.level)); -} - static void memPoolReport(const MemPool * pool, int freecount, int partial, StoreEntry * e) { @@ -339,10 +307,13 @@ inuse = pool->chunkCount - freecount; memPoolReport(pool, freecount, partial, e); + /* all Chunks */ free_count += freecount; part_count += partial; nuse_count += inuse; chunk_count += pool->chunkCount; + + /* all obj items */ alloc_count += pool->meter.alloc.level; inuse_count += pool->meter.inuse.level; idle_count += pool->meter.idle.level;