diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2022-06-17 07:07:54 +0200 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 23:09:34 +0200 |
commit | 8f7f566f5774d36196bfa87bc097522fd497d4dc (patch) | |
tree | 5d60b9478018ad4baf119804cc0d4e980baf365a /fs/bcachefs/buckets.h | |
parent | bcachefs: Make IO in flight by copygc/rebalance configurable (diff) | |
download | linux-8f7f566f5774d36196bfa87bc097522fd497d4dc.tar.xz linux-8f7f566f5774d36196bfa87bc097522fd497d4dc.zip |
bcachefs: btree key cache pcpu freedlist
Originally, the btree key cache code would always allocate new entries
by reusing from the recently-freed list, if that list wasn't empty. But
that behaviour was dropped, for lock contention reasons.
But it seems that entries stranded on the freed list have been
contributing to some of our oom issues, because long running btree
transactions will prevent them from being freed.
This patch re-adds allocating from the freed list, but it also adds
percpu buffers to solve the lock contention issues - and the new percpu
freed lists will improve the evict paths, too.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Diffstat (limited to 'fs/bcachefs/buckets.h')
0 files changed, 0 insertions, 0 deletions