summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhao Mengmeng <zhaomengmeng@kylinos.cn>2026-01-13 11:26:14 +0300
committerChristian Brauner <brauner@kernel.org>2026-01-14 19:11:43 +0300
commite93b31d0816201f9fd8daeaf69d6db99463d3e05 (patch)
tree4682d9fa84ba6f4c0571f81180e2db3135151b7d
parent561940a7ee81319b9cba06d2b7ba6b45a5c41cbc (diff)
downloadlinux-e93b31d0816201f9fd8daeaf69d6db99463d3e05.tar.xz
writeback: use round_jiffies_relative for dirtytime_work
The dirtytime_work is a background housekeeping task that flushes dirty inodes, using round_jiffies_relative() will allow kernel to batch this work with other aligned system tasks, reducing power consumption. Signed-off-by: Zhao Mengmeng <zhaomengmeng@kylinos.cn> Link: https://patch.msgid.link/20260113082614.231580-1-zhaomzhao@126.com Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r--fs/fs-writeback.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index cd21c74cd0e5..f06c47130a93 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -2493,7 +2493,8 @@ static void wakeup_dirtytime_writeback(struct work_struct *w)
}
rcu_read_unlock();
if (dirtytime_expire_interval)
- schedule_delayed_work(&dirtytime_work, dirtytime_expire_interval * HZ);
+ schedule_delayed_work(&dirtytime_work,
+ round_jiffies_relative(dirtytime_expire_interval * HZ));
}
static int dirtytime_interval_handler(const struct ctl_table *table, int write,
@@ -2525,7 +2526,8 @@ static const struct ctl_table vm_fs_writeback_table[] = {
static int __init start_dirtytime_writeback(void)
{
if (dirtytime_expire_interval)
- schedule_delayed_work(&dirtytime_work, dirtytime_expire_interval * HZ);
+ schedule_delayed_work(&dirtytime_work,
+ round_jiffies_relative(dirtytime_expire_interval * HZ));
register_sysctl_init("vm", vm_fs_writeback_table);
return 0;
}