afs: Increase NUSERS to 2k

The current value of NUSERS (16) is very small when the client has a
large number of PAGs. When we have a few thousand (or even just a few
hundred), the length of the unixuser hash chains can be come long
enough to cause noticeable differences in performance. Looking up
unixuser structs is a very common code path, since we need to do this
for pretty much any file access that's not already cached at the VFS
layer.

To alleviate this, increase NUSERS to 2k. This is certainly not
necessary on all systems (such as those that never use authentication,
or only have a few PAGs), but the overhead is a very small constant
amount of memory.

Change-Id: I17b32f192656db9ffc97ac47b0923a02803977a3
Reviewed-on: https://gerrit.openafs.org/14959
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
This commit is contained in:
Andrew Deason 2022-05-03 15:57:58 -05:00 committed by Benjamin Kaduk
parent 1c7eda8ea8
commit 52aafbb1a2

View File

@ -92,7 +92,7 @@ extern enum afs_shutdown_state afs_shuttingdown;
/* The basic defines for the Andrew file system
better keep things powers of two so "& (foo-1)" hack works for masking bits */
#define NBRS 15 /* max number of queued daemon requests */
#define NUSERS 16 /* hash table size for unixuser table */
#define NUSERS 2048 /* hash table size for unixuser table */
#define NSERVERS 16 /* hash table size for server table */
#define NVOLS 64 /* hash table size for volume table */
#define NFENTRIES 256 /* hash table size for disk volume table */