Messages in this thread | | | Date | Tue, 8 Feb 2022 17:18:02 +0800 | Subject | Re: [f2fs-dev] [PATCH] f2fs: avoid unneeded preflush during checkpoint() | From | Chao Yu <> |
| |
On 2022/2/8 9:35, Chao Yu wrote: > On 2022/2/8 3:14, Jaegeuk Kim wrote: >> On 02/07, Chao Yu wrote: >>> During checkpoint, we have committed preflush command via f2fs_flush_device_cache() >> >> 787 int f2fs_flush_device_cache(struct f2fs_sb_info *sbi) >> 788 { >> 789 int ret = 0, i; >> 790 >> 791 if (!f2fs_is_multi_device(sbi)) >> 792 return 0; >> >> Seems a wrong assumption. > > Oh, I missed that f2fs_flush_device_cache was introduced to flush devices except > first device when multi-device feature is on. > > for (i = 1; i < sbi->s_ndevs; i++) { > int count = DEFAULT_RETRY_IO_COUNT; > > So, this patch seems wrong... > > Instead, below case looks wrong since it needs to trigger flush during checkpoint() > no matter nobarrier is on or off.
Wrong comments, let's ignore this patch, sorry.
Thanks,
> > if (test_opt(sbi, NOBARRIER)) > return 0; > > Thanks, > >> >>> to persist all metadata pages except last #2 CP pack page, so we don't need to >>> commit another preflush command in commit_checkpoint(), remove it to avoid unneeded >>> write cache overhead. >>> >>> Signed-off-by: Chao Yu <chao@kernel.org> >>> --- >>> fs/f2fs/data.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c >>> index 8c417864c66a..15ac18bbbc8e 100644 >>> --- a/fs/f2fs/data.c >>> +++ b/fs/f2fs/data.c >>> @@ -598,7 +598,7 @@ static void __f2fs_submit_merged_write(struct f2fs_sb_info *sbi, >>> io->fio.op = REQ_OP_WRITE; >>> io->fio.op_flags = REQ_META | REQ_PRIO | REQ_SYNC; >>> if (!test_opt(sbi, NOBARRIER)) >>> - io->fio.op_flags |= REQ_PREFLUSH | REQ_FUA; >>> + io->fio.op_flags |= REQ_FUA; >>> } >>> __submit_merged_bio(io); >>> up_write(&io->io_rwsem); >>> -- >>> 2.32.0 > > > _______________________________________________ > Linux-f2fs-devel mailing list > Linux-f2fs-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
| |