summaryrefslogtreecommitdiff
path: root/libbcachefs/btree_cache.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2022-04-04 13:48:45 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2022-04-04 13:48:45 -0400
commit498874fdb71973c1856f35414bd607e58be16790 (patch)
tree9befebc09f4ebd856788d5fd5ac4ffecbd7698e9 /libbcachefs/btree_cache.c
parent32aabbc4e547592f957de7d4b093986e55981085 (diff)
Update bcachefs sources to 91e6c3e0d5 bcachefs: Gap buffer for journal keys
Diffstat (limited to 'libbcachefs/btree_cache.c')
-rw-r--r--libbcachefs/btree_cache.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/libbcachefs/btree_cache.c b/libbcachefs/btree_cache.c
index 0dcdc30c..8e04129a 100644
--- a/libbcachefs/btree_cache.c
+++ b/libbcachefs/btree_cache.c
@@ -281,7 +281,7 @@ static unsigned long bch2_btree_cache_scan(struct shrinker *shrink,
struct btree_cache *bc = &c->btree_cache;
struct btree *b, *t;
unsigned long nr = sc->nr_to_scan;
- unsigned long can_free;
+ unsigned long can_free = 0;
unsigned long touched = 0;
unsigned long freed = 0;
unsigned i, flags;
@@ -305,7 +305,6 @@ static unsigned long bch2_btree_cache_scan(struct shrinker *shrink,
* succeed, so that inserting keys into the btree can always succeed and
* IO can always make forward progress:
*/
- nr /= btree_pages(c);
can_free = btree_cache_can_free(bc);
nr = min_t(unsigned long, nr, can_free);
@@ -375,13 +374,10 @@ touched:
mutex_unlock(&bc->lock);
out:
- ret = (unsigned long) freed * btree_pages(c);
+ ret = freed;
memalloc_nofs_restore(flags);
out_norestore:
- trace_btree_cache_scan(sc->nr_to_scan,
- sc->nr_to_scan / btree_pages(c),
- btree_cache_can_free(bc),
- ret);
+ trace_btree_cache_scan(sc->nr_to_scan, can_free, ret);
return ret;
}
@@ -395,7 +391,7 @@ static unsigned long bch2_btree_cache_count(struct shrinker *shrink,
if (bch2_btree_shrinker_disabled)
return 0;
- return btree_cache_can_free(bc) * btree_pages(c);
+ return btree_cache_can_free(bc);
}
void bch2_fs_btree_cache_exit(struct bch_fs *c)
@@ -482,7 +478,6 @@ int bch2_fs_btree_cache_init(struct bch_fs *c)
bc->shrink.count_objects = bch2_btree_cache_count;
bc->shrink.scan_objects = bch2_btree_cache_scan;
bc->shrink.seeks = 4;
- bc->shrink.batch = btree_pages(c) * 2;
ret = register_shrinker(&bc->shrink);
out:
pr_verbose_init(c->opts, "ret %i", ret);