1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _BCACHEFS_BTREE_KEY_CACHE_TYPES_H
3 #define _BCACHEFS_BTREE_KEY_CACHE_TYPES_H
5 struct btree_key_cache_freelist {
6 struct bkey_cached *objs[16];
10 struct btree_key_cache {
12 struct rhashtable table;
15 struct list_head freed_pcpu;
17 struct list_head freed_nonpcpu;
18 size_t nr_freed_nonpcpu;
20 struct shrinker *shrink;
22 struct btree_key_cache_freelist __percpu *pcpu_freed;
24 atomic_long_t nr_freed;
25 atomic_long_t nr_keys;
26 atomic_long_t nr_dirty;
29 struct bkey_cached_key {
32 } __packed __aligned(4);
34 #endif /* _BCACHEFS_BTREE_KEY_CACHE_TYPES_H */