afs: Log warning when we detect too many vcaches 55/13255/4
authorAndrew Deason <adeason@sinenomine.net>
Mon, 16 Jul 2018 21:44:14 +0000 (16:44 -0500)
committerBenjamin Kaduk <kaduk@mit.edu>
Fri, 10 Jul 2020 05:15:17 +0000 (01:15 -0400)
commit0532f917f29bdb44f4933f9c8a6c05c7fecc6bbb
treec0f33493e3c358123cfceb75cd8c4bc1a1df0a55
parent42fb8786a8fff30ea97524f896c5aee4fa307f89
afs: Log warning when we detect too many vcaches

Currently, afs_ShakeLooseVCaches has a kind of warning that is logged
when we fail to free up any vcaches. This information can be useful to
know, since it may be a sign that users are trying to access way more
files than our configured vcache limit, hindering performance as we
constantly try to evict and re-create vcaches for files.

However, the current warning is not clear at all to non-expert users,
and it can only occur for non-dynamic vcaches (which is uncommon these
days).

To improve this, try to make a general determination if it looks like
the stat cache is "stressed", and log a message if so after
afs_ShakeLooseVCaches runs (for all platforms, regardless of dynamic
vcaches). Also try to make the message a little more user-friendly,
and only log it (at most) once per 4 hours.

Determining whether the stat cache looks stressed or not is difficult
and arguably subjective (especially for dynamic vcaches). This commit
draws a few arbitrary lines in the sand to make the decision, so at
least something will be logged in the cases where users are constantly
accessing way more files than our configured vcache limit.

Change-Id: I022478dc8abb7fdef24ccc06d477b349cca759ac
Reviewed-on: https://gerrit.openafs.org/13255
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
src/afs/afs.h
src/afs/afs_prototypes.h
src/afs/afs_vcache.c