Kent Overstreet
baefd3f849
bcachefs: btree_cache.freeable list fixes
...
When allocating new btree nodes, we were leaving them on the freeable
list - unlocked - allowing them to be reclaimed: ouch.
Additionally, bch2_btree_node_free_never_used() ->
bch2_btree_node_hash_remove was putting it on the freelist, while
bch2_btree_node_free_never_used() was putting it back on the btree
update reserve list - ouch.
Originally, the code was written to always keep btree nodes on a list -
live or freeable - and this worked when new nodes were kept locked.
But now with the cycle detector, we can't keep nodes locked that aren't
tracked by the cycle detector; and this is fine as long as they're not
reachable.
We also have better and more robust leak detection now, with memory
allocation profiling, so the original justification no longer applies.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2024-11-07 16:48:21 -05:00
..
2024-10-25 15:25:02 -07:00
2024-10-02 17:23:23 -04:00
2024-09-16 13:07:59 +02:00
2024-11-01 07:37:10 -10:00
2024-10-28 13:16:56 +01:00
2024-11-07 16:48:21 -05:00
2024-05-31 12:31:39 +02:00
2024-08-07 11:33:21 +02:00
2024-11-01 07:31:47 -10:00
2024-09-27 18:29:19 +02:00
2024-10-04 10:10:23 -07:00
2024-08-19 13:45:03 +02:00
2024-06-17 20:42:57 +02:00
2024-07-15 11:14:59 -07:00
2024-10-02 17:23:23 -04:00
2024-09-27 08:18:43 -07:00
2024-09-27 08:18:43 -07:00
2024-10-02 17:23:23 -04:00
2024-09-27 08:18:43 -07:00
2024-07-15 11:14:59 -07:00
2024-10-21 14:30:27 +02:00
2024-10-02 17:23:23 -04:00
2024-05-28 15:57:23 +02:00
2024-09-16 09:14:02 +02:00
2024-10-04 17:36:28 -04:00
2024-10-11 15:12:07 +00:00
2024-10-17 00:28:06 -07:00
2024-03-26 09:04:53 +01:00
2024-10-25 17:05:49 +02:00
2024-09-23 11:55:17 -07:00
2024-08-07 11:33:21 +02:00
2024-10-02 17:23:23 -04:00
2024-08-07 11:33:21 +02:00
2024-10-02 17:23:23 -04:00
2024-08-07 11:33:21 +02:00
2024-11-01 07:45:00 -10:00
2024-10-02 17:23:23 -04:00
2024-08-26 23:49:15 -04:00
2024-08-19 13:40:00 +02:00
2024-10-22 09:40:37 -05:00
2024-05-04 19:02:39 +02:00
2024-10-02 17:23:23 -04:00
2024-08-07 11:33:36 +02:00
2024-10-17 15:33:42 +02:00
2024-10-09 15:39:22 -04:00
2024-10-03 16:19:43 -04:00
2024-11-02 09:27:11 -10:00
2024-10-30 20:14:12 -07:00
2024-10-02 17:23:23 -04:00
2024-10-02 15:14:29 +02:00
2024-10-08 10:53:06 -07:00
2024-10-28 21:40:40 -07:00
2024-08-07 11:33:21 +02:00
2024-06-20 09:46:01 +02:00
2024-10-02 17:23:23 -04:00
2024-10-16 13:17:45 +02:00
2024-10-21 10:48:24 -07:00
2024-09-19 10:18:15 +02:00
2024-05-28 11:52:53 +02:00
2024-08-07 11:31:56 +02:00
2024-09-23 10:49:28 -07:00
2024-04-25 20:56:25 -07:00
2024-10-02 17:23:23 -04:00
2024-08-21 22:32:58 +02:00
2024-10-23 07:42:44 -05:00
2024-10-30 20:14:12 -07:00
2024-04-23 13:27:43 +02:00
2024-08-07 11:33:36 +02:00
2024-07-22 18:25:47 -07:00
2024-09-05 10:18:48 -04:00
2024-09-27 08:18:43 -07:00
2024-10-02 14:32:37 +02:00
2024-10-02 00:05:09 -04:00
2024-10-09 13:34:01 -04:00
2024-08-07 11:32:02 +02:00
2024-08-20 14:03:18 -04:00
2024-11-02 09:22:16 -10:00
2024-10-02 12:02:15 -07:00
2024-08-19 13:45:03 +02:00
2024-04-26 10:33:05 +02:00
2024-08-29 06:20:44 +12:00
2024-10-16 13:17:45 +02:00
2024-08-26 13:00:38 -07:00
2024-09-26 11:39:02 -07:00
2024-10-02 17:23:23 -04:00
2024-07-15 11:14:59 -07:00
2024-05-28 12:06:51 +02:00
2024-08-07 11:26:54 -07:00
2024-09-16 08:54:30 +02:00
2024-09-26 11:39:02 -07:00
2024-10-07 13:51:47 +02:00
2024-09-16 08:35:09 +02:00
2024-08-19 13:45:02 +02:00
2024-07-24 20:59:29 +02:00
2024-08-12 22:00:43 -04:00
2024-09-23 09:35:36 -07:00
2024-09-21 07:29:05 -07:00
2024-09-23 09:35:36 -07:00
2024-09-23 09:35:36 -07:00
2024-09-18 08:53:53 +02:00
2024-09-29 21:52:29 -04:00
2024-07-02 06:20:49 +02:00
2024-08-30 08:22:39 +02:00
2024-09-27 08:18:43 -07:00
2024-10-09 12:47:18 -07:00
2024-08-28 13:05:39 +02:00
2024-08-12 22:00:43 -04:00
2024-10-03 16:19:51 -04:00
2024-06-19 13:13:55 -07:00
2024-08-12 22:00:43 -04:00
2024-09-16 08:54:30 +02:00
2024-09-23 09:35:36 -07:00
2024-08-06 09:01:41 -07:00
2024-09-24 15:29:42 -07:00
2024-09-16 11:15:26 +02:00
2024-05-31 12:31:43 +02:00
2024-09-23 09:35:36 -07:00
2024-10-17 15:33:43 +02:00
2024-09-27 08:18:43 -07:00
2024-10-10 12:09:03 +02:00
2024-09-27 18:29:19 +02:00
2024-09-27 08:18:43 -07:00
2024-08-30 08:22:37 +02:00
2024-06-28 14:36:43 +02:00
2024-09-23 09:35:36 -07:00
2024-08-12 22:00:43 -04:00
2024-08-12 22:00:43 -04:00
2024-09-23 09:35:36 -07:00
2024-05-02 16:28:20 +02:00
2024-09-23 09:35:36 -07:00
2024-08-12 22:00:43 -04:00
2024-08-12 22:00:43 -04:00
2024-08-12 22:00:43 -04:00
2024-10-21 14:30:26 +02:00
2024-08-12 22:00:43 -04:00
2024-08-12 22:00:43 -04:00
2024-10-28 21:40:38 -07:00
2024-08-12 22:00:43 -04:00
2024-08-12 22:00:43 -04:00