On 2020/1/8 20:04, Jaegeuk Kim wrote:
> On 01/08, Chao Yu wrote:
>> On 2020/1/7 10:07, Jaegeuk Kim wrote:
>>> Setting 0x40 in /sys/fs/f2fs/dev/ipu_policy gives a way to turn off
>>> bio cache, which is useufl to check whether block layer using hardware
>>> encryption engine merges IOs correctly.
>>>
>>> Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org>
>>> ---
>>>  Documentation/filesystems/f2fs.txt | 1 +
>>>  fs/f2fs/segment.c                  | 2 +-
>>>  fs/f2fs/segment.h                  | 1 +
>>>  3 files changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/Documentation/filesystems/f2fs.txt 
>>> b/Documentation/filesystems/f2fs.txt
>>> index 41b5aa94b30f..cd93bcc34726 100644
>>> --- a/Documentation/filesystems/f2fs.txt
>>> +++ b/Documentation/filesystems/f2fs.txt
>>> @@ -335,6 +335,7 @@ Files in /sys/fs/f2fs/<devname>
>>>                                 0x01: F2FS_IPU_FORCE, 0x02: F2FS_IPU_SSR,
>>>                                 0x04: F2FS_IPU_UTIL,  0x08: 
>>> F2FS_IPU_SSR_UTIL,
>>>                                 0x10: F2FS_IPU_FSYNC.
>>
>> . -> ,
> 
> Actually, we can't do it. I revised it a bit instead.

One more question, why skipping 0x20 bit position?

Thanks,

> 
>>
>> Reviewed-by: Chao Yu <yuch...@huawei.com>
>>
>> Thanks,
>>
>>> +                          0x40: F2FS_IPU_NOCACHE disables bio caches.
>>>  
>>>   min_ipu_util                 This parameter controls the threshold to 
>>> trigger
>>>                                in-place-updates. The number indicates 
>>> percentage
>>> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
>>> index a9519532c029..311fe4937f6a 100644
>>> --- a/fs/f2fs/segment.c
>>> +++ b/fs/f2fs/segment.c
>>> @@ -3289,7 +3289,7 @@ int f2fs_inplace_write_data(struct f2fs_io_info *fio)
>>>  
>>>     stat_inc_inplace_blocks(fio->sbi);
>>>  
>>> -   if (fio->bio)
>>> +   if (fio->bio && !(SM_I(sbi)->ipu_policy & (1 << F2FS_IPU_NOCACHE)))
>>>             err = f2fs_merge_page_bio(fio);
>>>     else
>>>             err = f2fs_submit_page_bio(fio);
>>> diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h
>>> index a1b3951367cd..02e620470eef 100644
>>> --- a/fs/f2fs/segment.h
>>> +++ b/fs/f2fs/segment.h
>>> @@ -623,6 +623,7 @@ enum {
>>>     F2FS_IPU_SSR_UTIL,
>>>     F2FS_IPU_FSYNC,
>>>     F2FS_IPU_ASYNC,
>>> +   F2FS_IPU_NOCACHE,
>>>  };
>>>  
>>>  static inline unsigned int curseg_segno(struct f2fs_sb_info *sbi,
>>>
> .
> 


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to