OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-5-g3f393ce

Gerrit Code Review gerrit@openafs.org
Thu, 14 Nov 2024 11:26:05 -0500


The following commit has been merged in the master branch:
commit 3f393cea96aab46649457ad2a43d6d0a1a8fe83d
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon Jun 27 19:06:54 2022 +0000

    afs: Prioritize removal of unlinked vcaches
    
    On some platforms (such as LINUX), unlinked vcaches are not destroyed
    until the next execution of afs_ShakeLooseVCaches(). Since the hash for
    a given vcache is computed from its volume id and vnode number, keeping
    unlinked vcaches around can be a problem if files are repeatedly deleted
    and recreated in the same volume. In this scenario, the same vnode
    number will be reused several times, resulting in many vcaches with the
    same volume id and vnode number (but different unique ids) in the same
    bucket. Consequently, finding a given vcache in the bucket in question
    can be time consuming (and cause extra cpu processing), as we would have
    to traverse a long linked list.
    
    To mitigate this problem, move vcaches associated with unlinked files to
    the least recently used position in our VLRU, prioritizing their removal
    the next time afs_ShakeLooseVCaches() is executed.
    
    Introduce the QAddEnd() macro to make it easier to add a vcache to the
    end of the VLRU.
    
    Change-Id: Idc74da0c3c0b27bfdf2cd491b003bdd42c889a95
    Reviewed-on: https://gerrit.openafs.org/14961
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>

 src/afs/VNOPS/afs_vnop_remove.c | 38 +++++++++++++++++++++++++++++++++++++-
 src/afs/afs.h                   |  3 +++
 2 files changed, 40 insertions(+), 1 deletion(-)

-- 
OpenAFS Master Repository