mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-07 18:05:21 +02:00
UPSTREAM: f2fs: increase BG GC migration window granularity when boosted for zoned devices
Need bigger BG GC migration window granularity when free section is
running low.
Change-Id: I093fd0e247ccc613deb537d2f89b573050cd5dc4
Signed-off-by: Daeho Jeong <daehojeong@google.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
(cherry picked from commit 2223fe652f
)
This commit is contained in:
parent
0dda3520ca
commit
49c4757ce5
12
fs/f2fs/gc.c
12
fs/f2fs/gc.c
|
@ -1728,10 +1728,18 @@ static int do_garbage_collect(struct f2fs_sb_info *sbi,
|
|||
sec_end_segno -= SEGS_PER_SEC(sbi) -
|
||||
f2fs_usable_segs_in_sec(sbi, segno);
|
||||
|
||||
if (gc_type == BG_GC)
|
||||
end_segno = start_segno +
|
||||
if (gc_type == BG_GC) {
|
||||
unsigned int window_granularity =
|
||||
sbi->migration_window_granularity;
|
||||
|
||||
if (f2fs_sb_has_blkzoned(sbi) &&
|
||||
!has_enough_free_blocks(sbi,
|
||||
LIMIT_BOOST_ZONED_GC))
|
||||
window_granularity *= BOOST_GC_MULTIPLE;
|
||||
|
||||
end_segno = start_segno + window_granularity;
|
||||
}
|
||||
|
||||
if (end_segno > sec_end_segno)
|
||||
end_segno = sec_end_segno;
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#define LIMIT_NO_ZONED_GC 60 /* percentage over total user space of no gc for zoned devices */
|
||||
#define LIMIT_BOOST_ZONED_GC 25 /* percentage over total user space of boosted gc for zoned devices */
|
||||
#define DEF_MIGRATION_WINDOW_GRANULARITY_ZONED 3
|
||||
#define BOOST_GC_MULTIPLE 5
|
||||
|
||||
#define DEF_GC_FAILED_PINNED_FILES 2048
|
||||
#define MAX_GC_FAILED_PINNED_FILES USHRT_MAX
|
||||
|
|
Loading…
Reference in New Issue
Block a user