Re: [f2fs-dev] [PATCH 04/10] f2fs: support IO alignment for DATA and NODE writes
From: Chao Yu
Date: Thu Jan 12 2017 - 06:18:40 EST
On 2017/1/5 7:44, Jaegeuk Kim wrote:
> On 01/04, Chao Yu wrote:
>> Hi Jaegeuk,
>>
>> On 2016/12/31 2:51, Jaegeuk Kim wrote:
>>> This patch implements IO alignment by filling dummy blocks in DATA and NODE
>>> write bios. If we can guarantee, for example, 32KB or 64KB for such the IOs,
>>> we can eliminate underlying dummy page problem which FTL conducts in order to
>>> close MLC or TLC partial written pages.
>>>
>>> Note that,
>>> - it requires "-o mode=lfs".
>>> - IO size should be power of 2, not exceed BIO_MAX_PAGES, 256.
>>> - read IO is still 4KB.
>>> - do checkpoint at fsync, if dummy NODE page was written.
>>
>> Which scenario we can benefit from? Any numbers?
>
> I described it in the patch. This is not targetting for performance improvement
> for now, but to address the dummy page write problem in FTL so that we can later
> implement very simple host-level FTL on top of open-channel SSD.
Alright, if we are doing this since FTL implementation is moved up, so I can
understand that.
Thanks,
>
>> I doubt that there are some potential side-effect points:
>> - write amplification will be more serious than before
>> - free space will be more fragmented since dummy blocks is separated in whole
>> address space
>> - there is less chance to merge small(unaligned) IOs in block layer
>
> I agree, so I just added this as a mount option experimentally.
> One point would be that, if f2fs doesn't do this, FTL should do it. So I think,
> from the system point of view, f2fs is a better layer to do it.
>
> Thanks,
>
>>
>> Thoughts?
>>
>> Thanks,
>
> .
>