]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
f2fs: change default schedule timeout value
authorChao Yu <chao@kernel.org>
Wed, 12 Nov 2025 01:47:49 +0000 (09:47 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 4 Dec 2025 02:00:05 +0000 (02:00 +0000)
This patch changes default schedule timeout value from 20ms to 1ms,
in order to give caller more chances to check whether IO or non-IO
congestion condition has already been mitigable.

In addition, default interval of periodical discard submission is
kept to 20ms.

Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/f2fs.h
fs/f2fs/segment.c

index 858ceb3d2ad6e37f89873e0f42cb34bf7d9e90c3..842dd1963b57c9dc403d7b36cb38d62d77b95bd8 100644 (file)
@@ -407,6 +407,8 @@ struct discard_entry {
 #define DEFAULT_DISCARD_GRANULARITY            16
 /* default maximum discard granularity of ordered discard, unit: block count */
 #define DEFAULT_MAX_ORDERED_DISCARD_GRANULARITY        16
+/* default interval of periodical discard submission */
+#define DEFAULT_DISCARD_INTERVAL       (msecs_to_jiffies(20))
 
 /* max discard pend list number */
 #define MAX_PLIST_NUM          512
@@ -656,8 +658,8 @@ enum {
 
 #define DEFAULT_RETRY_IO_COUNT 8       /* maximum retry read IO or flush count */
 
-/* IO/non-IO congestion wait timeout value, default: 20ms */
-#define        DEFAULT_SCHEDULE_TIMEOUT        (msecs_to_jiffies(20))
+/* IO/non-IO congestion wait timeout value, default: 1ms */
+#define        DEFAULT_SCHEDULE_TIMEOUT        (msecs_to_jiffies(1))
 
 /* timeout value injected, default: 1000ms */
 #define DEFAULT_FAULT_TIMEOUT  (msecs_to_jiffies(1000))
index 993ec8afe2dbbe62b2a00fd959c6d0cbdd13f08b..8375dca7ed9e49aaf6ae7587a4326c2e50b42db9 100644 (file)
@@ -3471,7 +3471,7 @@ next:
                        blk_finish_plug(&plug);
                        mutex_unlock(&dcc->cmd_lock);
                        trimmed += __wait_all_discard_cmd(sbi, NULL);
-                       f2fs_schedule_timeout(DEFAULT_SCHEDULE_TIMEOUT);
+                       f2fs_schedule_timeout(DEFAULT_DISCARD_INTERVAL);
                        goto next;
                }
 skip: