Messages in this thread | | | Date | Tue, 18 Feb 2020 15:27:14 -0800 | From | Jaegeuk Kim <> | Subject | Re: [f2fs-dev] [PATCH 3/3] f2fs: skip migration only when BG_GC is called |
| |
On 02/17, Chao Yu wrote: > 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.
FG_GC requires to wait for whole section migration which shows the entire latency.
> > Thanks, > > > goto skip; > > if (!PageUptodate(sum_page) || unlikely(f2fs_cp_error(sbi))) > >
| |