mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
37c264f457
Summary: Tl;DR Reduces costs of fuse request mertics by reducing lock contention. D20922194 adds tracking for FUSE request metrics, this makes tracking those metrics more efficient. Since every user request goes through the FUSE channel, we want to reduce the cost of these metrics as much as possible (originally mentioned in a comment D20922194). The synchronization used to track the metrics is costly especially when the lock is contended. To reduce the cost, each FuseChannel will have a thread local copy of metrics. Each will still be synchronized to allow for reading the metrics and for Requests moved to other threads that will need to access the metrics. However, the lock should be contended less often since only requests from a single fuse channel thread will access it. Reviewed By: chadaustin Differential Revision: D21043792 fbshipit-source-id: ce58a0cbce334095976233bfac7578d39c81bb55 |
||
---|---|---|
.. | ||
benchharness | ||
cli | ||
config | ||
fuse | ||
inodes | ||
journal | ||
model | ||
monitor | ||
notifications | ||
py | ||
rocksdb | ||
service | ||
sqlite | ||
store | ||
takeover | ||
telemetry | ||
testharness | ||
utils | ||
win | ||
CMakeLists.txt |