]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
f2fs: set default valid_thresh_ratio to 80 for zoned devices
authorDaeho Jeong <daehojeong@google.com>
Tue, 7 Oct 2025 16:46:14 +0000 (09:46 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 24 Oct 2025 21:23:55 +0000 (21:23 +0000)
Zoned storage devices provide marginal over-capacity space, typically
around 10%, for filesystem level storage control.

By utilizing this extra capacity, we can safely reduce the default
'valid_thresh_ratio' to 80. This action helps to significantly prevent
excessive garbage collection (GC) and the resulting power consumption,
as the filesystem becomes less aggressive about cleaning segments
that still hold a high percentage of valid data.

Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/gc.h

index 24e8b1c27acc4a4785a02605f97c91c1466bfd57..6c4d4567571eb5778a4f05f94834d5263e5c33d4 100644 (file)
@@ -25,7 +25,7 @@
 #define DEF_GC_THREAD_CANDIDATE_RATIO          20      /* select 20% oldest sections as candidates */
 #define DEF_GC_THREAD_MAX_CANDIDATE_COUNT      10      /* select at most 10 sections as candidates */
 #define DEF_GC_THREAD_AGE_WEIGHT               60      /* age weight */
-#define DEF_GC_THREAD_VALID_THRESH_RATIO       95      /* do not GC over 95% valid block ratio for one time GC */
+#define DEF_GC_THREAD_VALID_THRESH_RATIO       80      /* do not GC over 80% valid block ratio for one time GC */
 #define DEFAULT_ACCURACY_CLASS                 10000   /* accuracy class */
 
 #define LIMIT_INVALID_BLOCK    40 /* percentage over total user space */