Messages in this thread | | | Subject | Re: [f2fs-dev] [PATCH 3/3] f2fs: skip migration only when BG_GC is called | From | Chao Yu <> | Date | Mon, 17 Feb 2020 10:22:22 +0800 |
| |
On 2020/2/15 2:58, Jaegeuk Kim wrote: > FG_GC needs to move entire section more quickly. > > Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> > --- > fs/f2fs/gc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c > index bbf4db3f6bb4..1676eebc8c8b 100644 > --- a/fs/f2fs/gc.c > +++ b/fs/f2fs/gc.c > @@ -1203,7 +1203,7 @@ static int do_garbage_collect(struct f2fs_sb_info *sbi, > > if (get_valid_blocks(sbi, segno, false) == 0) > goto freed; > - if (__is_large_section(sbi) && > + if (gc_type == BG_GC && __is_large_section(sbi) && > migrated >= sbi->migration_granularity)
I knew migrating one large section is a more efficient way, but this can increase long-tail latency of f2fs_balance_fs() occasionally, especially in extreme fragmented space.
Thanks,
> goto skip; > if (!PageUptodate(sum_page) || unlikely(f2fs_cp_error(sbi))) >
| |