mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 15:00:12 +00:00
libafs: Use vcount, not maxvcount to trim vcaches
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 2a2206bfe1
)
Change-Id: Ia8074673ac8c07770bb90016502a9ea860445660
Reviewed-on: http://gerrit.openafs.org/4621
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
This commit is contained in:
parent
1d147597b9
commit
3cd983f62d
@ -201,10 +201,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)
|
||||
anumber = VCACHE_FREE;
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user