]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
libafs: Use vcount, not maxvcount to trim vcaches
authorAndrew Deason <adeason@sinenomine.net>
Thu, 28 Apr 2011 16:48:18 +0000 (11:48 -0500)
committerDerrick Brashear <shadow@dementia.org>
Tue, 3 May 2011 02:20:26 +0000 (19:20 -0700)
Every five minutes we afs_ShakeLooseVCaches to try and return the
number of vcaches in use down to the originally configured -stat level
(when we are using dynamic vcaches). We should calculate how many
vcaches to flush based on the number of currently active vcaches
(afs_vcount), not the peak number (afs_maxvcount). Otherwise, once we
exceed the configured -stat level, we will always keep trying to flush
numerous vcaches, even if we barely have any vcaches in use.

Reviewed-on: http://gerrit.openafs.org/4584
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit 2a2206bfe16815a6625fee4d37520e9676d88ab4)

Change-Id: I80cfbf31ba81d7cf23013c0efcea0b8ac8c341db
Reviewed-on: http://gerrit.openafs.org/4602
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/afs/afs_daemons.c

index f14c75c44d823fbd72fa133afba77f9f78f5fc7a..91466b76e2715e1f662cf887e190fdf7d5bbc130 100644 (file)
@@ -216,10 +216,10 @@ afs_Daemon(void)
         if (afsd_dynamic_vcaches && (last5MinCheck + 300 < now)) {
             /* start with trying to drop us back to our base usage */
             int anumber;
-            if (afs_maxvcount <= afs_cacheStats)
+            if (afs_vcount <= afs_cacheStats)
                 anumber = VCACHE_FREE;
             else
-                anumber = VCACHE_FREE + (afs_maxvcount - afs_cacheStats);
+                anumber = VCACHE_FREE + (afs_vcount - afs_cacheStats);
 
            ObtainWriteLock(&afs_xvcache, 734);
             afs_ShakeLooseVCaches(anumber);