OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-285-gb7f4d36
Gerrit Code Review
gerrit@openafs.org
Thu, 31 Jul 2025 10:49:42 -0400
The following commit has been merged in the master branch:
commit b7f4d36241e143a855ead90bd133cc0664fb9ff6
Author: Andrew Deason <adeason@sinenomine.net>
Date: Thu Dec 1 22:55:41 2022 -0600
LINUX: Disable osi_dnlc
The DNLC ("directory name lookup cache") is our cross-platform way of
caching lookups of directory items, so we can sometimes avoid hitting
the (disk) cache when running afs_lookup().
The Linux kernel has its own (much more sophisticated) directory name
caching layer: the dcache, represented by 'struct dentry's (unrelated
to our data cache / 'struct dcache'). Maintaining our own cache is
rather pointless, and just adds overhead and creates more
possibilities to make mistakes (as can be seen by the number of
special cases in afs_lookup() to avoid the DNLC).
So, just disable the DNLC on LINUX by default by setting the existing
afs_usednlc global to 0. At least for now, still build the DNLC code to
avoid bitrot if we want to turn it back on. Add a sysctl for afs_usednlc
so developers can turn it back on for benchmarking or other testing.
Declare afs_usednlc in afs_prototypes.h next to the other osi_dnlc
routines.
Change-Id: I822742150551c7b0e93926c8d7fbd01c13d96475
Reviewed-on: https://gerrit.openafs.org/15213
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
src/afs/LINUX/osi_sysctl.c | 2 ++
src/afs/afs_osidnlc.c | 4 ++++
src/afs/afs_prototypes.h | 2 ++
3 files changed, 8 insertions(+)
--
OpenAFS Master Repository