diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-09-04 20:49:37 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-09-21 11:39:48 -0400 |
commit | 7a51608d0125469664e2daf8e060d6d783924c98 (patch) | |
tree | 4fa41c4ed7b94e602ad97f8ed73da7e4b56f6893 /tools/perf/scripts/python/syscall-counts.py | |
parent | 91ddd7151000c0e538cec7fb2f3f86e2268af4d4 (diff) |
bcachefs: Rework btree node pinning
In backpointers fsck, we do a seqential scan of one btree, and check
references to another: extents <-> backpointers
Checking references generates random lookups, so we want to pin that
btree in memory (or only a range, if it doesn't fit in ram).
Previously, this was done with a simple check in the shrinker - "if
btree node is in range being pinned, don't free it" - but this generated
OOMs, as our shrinker wasn't well behaved if there was less memory
available than expected.
Instead, we now have two different shrinkers and lru lists; the second
shrinker being for pinned nodes, with seeks set much higher than normal
- so they can still be freed if necessary, but we'll prefer not to.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'tools/perf/scripts/python/syscall-counts.py')
0 files changed, 0 insertions, 0 deletions