diff options
author | Ayush Ranjan <ayushranjan@google.com> | 2021-05-01 12:36:09 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-05-01 12:37:49 -0700 |
commit | 7cafac9f42a8355e7192b57fcc8d41e31d836c53 (patch) | |
tree | 8911b4dc0d124eb00a797cf203ba200080293173 /pkg/shim/service_linux.go | |
parent | cde8e8b7a905ce53fe72a1a71b86e9ef352bbc3a (diff) |
[perf] Check caching on IncRef'd dentries before the others.
When a child is added to a parent (directory) dentry, both child and parent are
queued for checkCachingLocked(). Make sure that the parent is queued first
because the parent gained a ref and so could be removed from the LRU cache hence
making space for the new child. This could prevent an LRU cache eviction.
In practice, this did seem to help. ~800 RPCs were reduced while building
//absl/... (ABSL build benchmark). Evictions hurt in 2 ways - create renameMu
contention and destroy a possibly useful dentry which will have to be re-walked
and re-opened later.
Follow up fix for #5859.
PiperOrigin-RevId: 371509392
Diffstat (limited to 'pkg/shim/service_linux.go')
0 files changed, 0 insertions, 0 deletions