Re: [PATCH v2] f2fs: do not issue small discard commands during checkpoint

From: Jaegeuk Kim
Date: Wed Jun 14 2023 - 12:11:06 EST


If there're huge # of small discards, this will increase checkpoint latency
insanely. Let's issue small discards only by trim.

Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
---

Change log from v1:
- move the skip logic to avoid dangling objects

fs/f2fs/segment.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 8c7af8b4fc47..0457d620011f 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -2193,7 +2193,7 @@ void f2fs_clear_prefree_segments(struct f2fs_sb_info *sbi,
len = next_pos - cur_pos;

if (f2fs_sb_has_blkzoned(sbi) ||
- (force && len < cpc->trim_minlen))
+ !force || len < cpc->trim_minlen)
goto skip;

f2fs_issue_discard(sbi, entry->start_blkaddr + cur_pos,
--
2.41.0.162.gfafddb0af9-goog