X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libbcachefs%2Fbtree_types.h;h=1e4d1fecc6bd336539025e15d7de80b3f50028a0;hb=bad0c8c50758b4447d529f61017c1a8c85976a3e;hp=5382f2b85e194aeab13e361f45061c4cc95e40da;hpb=64ddfc9fc5628f27cdc1399a283452196a7e2dcc;p=bcachefs-tools-debian diff --git a/libbcachefs/btree_types.h b/libbcachefs/btree_types.h index 5382f2b..1e4d1fe 100644 --- a/libbcachefs/btree_types.h +++ b/libbcachefs/btree_types.h @@ -301,6 +301,11 @@ struct btree_iter { #endif }; +struct btree_key_cache_freelist { + struct bkey_cached *objs[16]; + unsigned nr; +}; + struct btree_key_cache { struct mutex lock; struct rhashtable table; @@ -308,8 +313,9 @@ struct btree_key_cache { struct list_head freed; struct shrinker shrink; unsigned shrink_iter; + struct btree_key_cache_freelist __percpu *pcpu_freed; - size_t nr_freed; + atomic_long_t nr_freed; atomic_long_t nr_keys; atomic_long_t nr_dirty; }; @@ -388,7 +394,7 @@ struct btree_trans { u8 locking_btree_id; u8 locking_level; u8 locking_lock_type; - pid_t pid; + struct task_struct *task; int srcu_idx; u8 nr_sorted;