Lines Matching refs:sbi

19 static unsigned long __count_nat_entries(struct f2fs_sb_info *sbi)  in __count_nat_entries()  argument
21 return NM_I(sbi)->nat_cnt[RECLAIMABLE_NAT]; in __count_nat_entries()
24 static unsigned long __count_free_nids(struct f2fs_sb_info *sbi) in __count_free_nids() argument
26 long count = NM_I(sbi)->nid_cnt[FREE_NID] - MAX_FREE_NIDS; in __count_free_nids()
31 static unsigned long __count_extent_cache(struct f2fs_sb_info *sbi, in __count_extent_cache() argument
34 struct extent_tree_info *eti = &sbi->extent_tree[type]; in __count_extent_cache()
43 struct f2fs_sb_info *sbi; in f2fs_shrink_count() local
50 sbi = list_entry(p, struct f2fs_sb_info, s_list); in f2fs_shrink_count()
53 if (!mutex_trylock(&sbi->umount_mutex)) { in f2fs_shrink_count()
60 count += __count_extent_cache(sbi, EX_READ); in f2fs_shrink_count()
63 count += __count_extent_cache(sbi, EX_BLOCK_AGE); in f2fs_shrink_count()
66 count += __count_nat_entries(sbi); in f2fs_shrink_count()
69 count += __count_free_nids(sbi); in f2fs_shrink_count()
73 mutex_unlock(&sbi->umount_mutex); in f2fs_shrink_count()
83 struct f2fs_sb_info *sbi; in f2fs_shrink_scan() local
94 sbi = list_entry(p, struct f2fs_sb_info, s_list); in f2fs_shrink_scan()
96 if (sbi->shrinker_run_no == run_no) in f2fs_shrink_scan()
100 if (!mutex_trylock(&sbi->umount_mutex)) { in f2fs_shrink_scan()
106 sbi->shrinker_run_no = run_no; in f2fs_shrink_scan()
109 freed += f2fs_shrink_age_extent_tree(sbi, nr >> 2); in f2fs_shrink_scan()
112 freed += f2fs_shrink_read_extent_tree(sbi, nr >> 2); in f2fs_shrink_scan()
116 freed += f2fs_try_to_free_nats(sbi, nr - freed); in f2fs_shrink_scan()
120 freed += f2fs_try_to_free_nids(sbi, nr - freed); in f2fs_shrink_scan()
124 list_move_tail(&sbi->s_list, &f2fs_list); in f2fs_shrink_scan()
125 mutex_unlock(&sbi->umount_mutex); in f2fs_shrink_scan()
133 void f2fs_join_shrinker(struct f2fs_sb_info *sbi) in f2fs_join_shrinker() argument
136 list_add_tail(&sbi->s_list, &f2fs_list); in f2fs_join_shrinker()
140 void f2fs_leave_shrinker(struct f2fs_sb_info *sbi) in f2fs_leave_shrinker() argument
142 f2fs_shrink_read_extent_tree(sbi, __count_extent_cache(sbi, EX_READ)); in f2fs_leave_shrinker()
143 f2fs_shrink_age_extent_tree(sbi, in f2fs_leave_shrinker()
144 __count_extent_cache(sbi, EX_BLOCK_AGE)); in f2fs_leave_shrinker()
147 list_del_init(&sbi->s_list); in f2fs_leave_shrinker()