Re: [PATCH 3/3] f2fs: avoid unneeded barrier in do_checkpoint()

From: Chao Yu
Date: Tue Feb 18 2020 - 22:18:24 EST


On 2020/2/19 10:51, Jaegeuk Kim wrote:
> On 02/18, Chao Yu wrote:
>> We don't need to wait all dirty page submitting IO twice,
>> remove unneeded wait step.
>
> What happens if checkpoint and other meta writs are reordered?

checkpoint can be done as following:

1. All meta except last cp-park of checkpoint area.
2. last cp-park of checkpoint area

So we only need to keep barrier in between step 1 and 2, we don't need
to care about the write order of meta in step 1, right?

Thanks,

>
>>
>> Signed-off-by: Chao Yu <yuchao0@xxxxxxxxxx>
>> ---
>> fs/f2fs/checkpoint.c | 2 --
>> 1 file changed, 2 deletions(-)
>>
>> diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
>> index 751815cb4c2b..9c88fb3d255a 100644
>> --- a/fs/f2fs/checkpoint.c
>> +++ b/fs/f2fs/checkpoint.c
>> @@ -1384,8 +1384,6 @@ static int do_checkpoint(struct f2fs_sb_info *sbi, struct cp_control *cpc)
>>
>> /* Flush all the NAT/SIT pages */
>> f2fs_sync_meta_pages(sbi, META, LONG_MAX, FS_CP_META_IO);
>> - /* Wait for all dirty meta pages to be submitted for IO */
>> - f2fs_wait_on_all_pages(sbi, F2FS_DIRTY_META);
>>
>> /*
>> * modify checkpoint
>> --
>> 2.18.0.rc1
> .
>