From: Chao Yu via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: jinsu1.lee@samsung.com
Cc: 김성훈 <seonghun-sui.kim@samsung.com>,
"v-songbaohua@oppo.com" <v-songbaohua@oppo.com>,
"jaegeuk@kernel.org" <jaegeuk@kernel.org>,
"linux-f2fs-devel@lists.sourceforge.net"
<linux-f2fs-devel@lists.sourceforge.net>,
김정한 <jh4u.kim@samsung.com>
Subject: Re: [f2fs-dev] [PATCH] f2fs: fix to force buffered IO on inline_data inode
Date: Fri, 1 Nov 2024 11:20:39 +0800 [thread overview]
Message-ID: <af03dd2c-e361-4f80-b2fd-39440766cf6e@kernel.org> (raw)
In-Reply-To: <20241031050939epcms2p7971f1cc52ea141d4a7b29d68427c2fd6@epcms2p7>
Hi jinsu,
+Cc f2fs mailing list
Thank you for the report.
Can you please try below patch?
From 5aeb87cffa73f52b29c7e8dcc3729337f925bb60 Mon Sep 17 00:00:00 2001
From: Chao Yu <chao@kernel.org>
Date: Fri, 1 Nov 2024 11:18:57 +0800
Subject: [PATCH] fix
---
fs/f2fs/file.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 0e7a0195eca8..f656ca3cc61c 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -883,7 +883,7 @@ static bool f2fs_force_buffered_io(struct inode *inode, int rw)
return true;
if (f2fs_compressed_file(inode))
return true;
- if (f2fs_has_inline_data(inode))
+ if (f2fs_has_inline_data(inode) && rw == READ)
return true;
/* disallow direct IO if any of devices has unaligned blksize */
--
2.40.1
On 2024/10/31 13:09, 이진수 wrote:
> From: jinsu LEE <jinsu1.lee@samsung.com>
>
> To: Chao Yu <chao@kernel.org>
>
> cc: jaegeuk@kernel.org, v-songbaohua@oppo.com
>
>
> Hi Caho Yu
>
> I'm Jinsu Lee and I work on memory(UFS) at Samsung Electronics.
>
>
> I'm sending you an e-mail because I have an inquiry about the f2fs commit below.
>
> https://lore.kernel.org/linux-f2fs-devel/20240523132948.2250254-1-chao@kernel.org/#R <https://lore.kernel.org/linux-f2fs-devel/20240523132948.2250254-1-chao@kernel.org/#R>
>
>
> From the commit message, it seems to be a modification to fix race case IOMAP_HOLE(all zero) using direct io.
>
> However, in the v6.6-kernel that includes this commit, the fio sequential write performance is very low.
>
> (v6.1-kernel) about 3900MB/s or more
>
> (v6.6-kernel) about 800MB/s or less
>
>
> Due to the corresponding commit, "f2fs_buffered_write_iter" is being performed instead of "f2fs_dio_write_iter". (Red box part of perf call stack below)
>
> I wonder if you know about this part and if there is any way to modify IOMAP_HOLE so as not to affect the performance of direct io.
>
>
>> perf data during fio test (v6.6 kernel with your commit)
>
> fio DIO sequential write 800MB/s (very slow)
>
> The part of the red box below is an action that did not exist in the previous kernel and is becoming a factor that reduces DIO seq write performance.
>
> In this case, "f2fs_file_write_iter" takes much longer than the previous kernel.
>
>
>> perf data during fio test (v6.1 kernel)
>
> fio DIO sequential write 3900MB/s
>
> There is no call for the "f2fs_buffered_write_iter" or "generic_perform_write" function and "f2f2_file_write_iter" more fast and there is no problem with DIO seq write performance.
>
>
>
> Thank you
>
>
>
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
next parent reply other threads:[~2024-11-01 3:20 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20241031050939epcms2p7971f1cc52ea141d4a7b29d68427c2fd6@epcms2p7>
[not found] ` <20241031050939epcms2p7971f1cc52ea141d4a7b29d68427c2fd6@epcms2p7>
2024-11-01 3:20 ` Chao Yu via Linux-f2fs-devel [this message]
2024-05-23 13:29 [f2fs-dev] [PATCH] f2fs: fix to force buffered IO on inline_data inode Chao Yu
2024-06-12 15:55 ` patchwork-bot+f2fs
2024-06-12 15:55 ` patchwork-bot+f2fs
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=af03dd2c-e361-4f80-b2fd-39440766cf6e@kernel.org \
--to=linux-f2fs-devel@lists.sourceforge.net \
--cc=chao@kernel.org \
--cc=jaegeuk@kernel.org \
--cc=jh4u.kim@samsung.com \
--cc=jinsu1.lee@samsung.com \
--cc=seonghun-sui.kim@samsung.com \
--cc=v-songbaohua@oppo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.