[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <887d9b30-0069-4f4d-8107-48662379fd30@kernel.org>
Date: Mon, 1 Sep 2025 10:15:24 +0800
From: Chao Yu <chao@...nel.org>
To: Jaegeuk Kim <jaegeuk@...nel.org>
Cc: chao@...nel.org, linux-kernel@...r.kernel.org,
linux-f2fs-devel@...ts.sourceforge.net
Subject: Re: [f2fs-dev] [PATCH] f2fs: allocate HOT_DATA for IPU writes
On 8/31/25 07:54, Jaegeuk Kim wrote:
> On 08/30, Chao Yu wrote:
>> On 8/30/2025 4:47 AM, Jaegeuk Kim wrote:
>>> On 08/29, Chao Yu wrote:
>>>> On 8/28/2025 11:23 PM, Jaegeuk Kim wrote:
>>>>> On 08/28, Chao Yu wrote:
>>>>>> On 8/28/25 05:52, Jaegeuk Kim via Linux-f2fs-devel wrote:
>>>>>>> Let's split IPU writes in hot data area to improve the GC efficiency.
>>>>>>
>>>>>> I didn't get it, IPU may be not friendly for migrating data along w/ write in
>>>>>> hot area?
>>>>>
>>>>> This deals with IPU in the LFS mode.
>>>>
>>>> Okay, so, we missed to add f2fs_lfs_mode() condition, right?
>>>
>>> Why do we need that?
>>
>> As you mentioned above, this deals w/ IPU in the LFS mode. Am I missing
>> something?
>
> The IPU flag indicates the data is hot. In lfs_mode, we missed to allocate
> it into HOT_DATA. In normal mode, IPU will update the data in place, which
> doesn't affect anything, while newly create data is also good to store in
> HOT_DATA as well. So, I think we don't need other condition here.
It makes sense, thanks for the explanation.
Reviewed-by: Chao Yu <chao@...nel.org>
Thanks,
>
>>
>> Thanks,
>>
>>>
>>>>
>>>> Thanks,
>>>>
>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>>>
>>>>>>> Signed-off-by: Jaegeuk Kim <jaegeuk@...nel.org>
>>>>>>> ---
>>>>>>> fs/f2fs/segment.c | 3 ++-
>>>>>>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>>>>>>
>>>>>>> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
>>>>>>> index e0f6589c6a1c..bb79dad55ac9 100644
>>>>>>> --- a/fs/f2fs/segment.c
>>>>>>> +++ b/fs/f2fs/segment.c
>>>>>>> @@ -3688,7 +3688,8 @@ static int __get_segment_type_6(struct f2fs_io_info *fio)
>>>>>>> if (file_is_hot(inode) ||
>>>>>>> is_inode_flag_set(inode, FI_HOT_DATA) ||
>>>>>>> - f2fs_is_cow_file(inode))
>>>>>>> + f2fs_is_cow_file(inode) ||
>>>>>>> + is_inode_flag_set(inode, FI_NEED_IPU))
>>>>>>> return CURSEG_HOT_DATA;
>>>>>>> return f2fs_rw_hint_to_seg_type(F2FS_I_SB(inode),
>>>>>>> inode->i_write_hint);
Powered by blists - more mailing lists