Kent Overstreet 7a51608d01 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>
2024-09-21 11:39:48 -04:00
..
2024-05-29 09:25:15 -07:00
2024-07-18 09:50:08 +02:00
2024-07-15 11:31:32 -07:00
2024-07-15 11:14:59 -07:00
2024-07-15 11:31:32 -07:00
2024-05-13 14:14:05 -07:00
2024-07-15 11:14:59 -07:00
2024-07-26 18:48:12 +08:00
2024-07-17 12:53:47 -07:00
2024-07-23 15:21:19 -07:00
2024-07-15 11:31:32 -07:00
2024-07-19 11:57:55 -07:00
2024-07-09 10:40:03 +02:00
2024-07-15 11:14:59 -07:00
2024-07-15 10:52:51 -07:00
2024-07-27 15:11:59 -07:00
2024-07-15 11:14:59 -07:00
2024-07-15 13:28:14 -07:00
\n
2024-07-17 13:11:42 -07:00
2024-07-23 14:32:21 -07:00
2024-07-15 11:14:59 -07:00
2024-07-17 12:00:49 -07:00
2024-07-22 10:50:18 -07:00
2024-07-18 14:48:11 -07:00
2024-05-28 11:52:53 +02:00
2024-05-28 11:52:49 +02:00
2024-07-27 20:08:07 -07:00
2024-04-23 13:27:43 +02:00
2024-05-28 11:52:45 +02:00
2024-07-15 11:31:32 -07:00
2024-06-25 11:15:48 +02:00
2024-05-02 20:35:57 +02:00
2024-07-23 17:30:42 -07:00
2024-07-15 11:14:59 -07:00
2024-04-25 20:56:20 -07:00
2024-05-10 08:26:31 +02:00
2024-09-09 09:41:47 -04:00
2024-07-15 12:34:01 -07:00
2024-03-11 10:21:06 -07:00
2024-07-15 11:54:04 -07:00
2024-07-24 10:53:13 +02:00
2024-07-18 09:50:08 +02:00
2024-07-15 10:52:51 -07:00
2024-03-12 20:03:34 -07:00
2024-06-20 15:19:17 -06:00
2024-05-02 16:28:20 +02:00
2024-05-24 13:34:07 +02:00
2024-07-15 14:20:22 -07:00
2024-04-10 16:23:02 -06:00