aboutsummaryrefslogtreecommitdiff
path: root/fs/f2fs/segment.c
diff options
context:
space:
mode:
authorGravatar Yangtao Li <frank.li@vivo.com> 2022-11-24 00:44:02 +0800
committerGravatar Jaegeuk Kim <jaegeuk@kernel.org> 2022-11-28 12:51:01 -0800
commit8a47d228de6a4fd4c751142fb27d56f385b3fe41 (patch)
tree31e1472134aae5dfbe75f0975ed7e72386b9053d /fs/f2fs/segment.c
parentf2fs: define MIN_DISCARD_GRANULARITY macro (diff)
downloadlinux-8a47d228de6a4fd4c751142fb27d56f385b3fe41.tar.gz
linux-8a47d228de6a4fd4c751142fb27d56f385b3fe41.tar.bz2
linux-8a47d228de6a4fd4c751142fb27d56f385b3fe41.zip
f2fs: introduce discard_urgent_util sysfs node
Through this node, you can control the background discard to run more aggressively or not aggressively when reach the utilization rate of the space. Signed-off-by: Yangtao Li <frank.li@vivo.com> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/segment.c')
-rw-r--r--fs/f2fs/segment.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index c7afcc6cd75b..0ff451ea18f6 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1064,7 +1064,7 @@ static void __init_discard_policy(struct f2fs_sb_info *sbi,
dpolicy->io_aware = true;
dpolicy->sync = false;
dpolicy->ordered = true;
- if (utilization(sbi) > DEF_DISCARD_URGENT_UTIL) {
+ if (utilization(sbi) > dcc->discard_urgent_util) {
dpolicy->granularity = MIN_DISCARD_GRANULARITY;
if (atomic_read(&dcc->discard_cmd_cnt))
dpolicy->max_interval =
@@ -2079,6 +2079,7 @@ static int create_discard_cmd_control(struct f2fs_sb_info *sbi)
dcc->min_discard_issue_time = DEF_MIN_DISCARD_ISSUE_TIME;
dcc->mid_discard_issue_time = DEF_MID_DISCARD_ISSUE_TIME;
dcc->max_discard_issue_time = DEF_MAX_DISCARD_ISSUE_TIME;
+ dcc->discard_urgent_util = DEF_DISCARD_URGENT_UTIL;
dcc->undiscard_blks = 0;
dcc->next_pos = 0;
dcc->root = RB_ROOT_CACHED;