[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260113082614.231580-1-zhaomzhao@126.com>
Date: Tue, 13 Jan 2026 16:26:14 +0800
From: Zhao Mengmeng <zhaomzhao@....com>
To: viro@...iv.linux.org.uk,
brauner@...nel.org,
jack@...e.cz
Cc: zhaomengmeng@...inos.cn,
linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [vfs/vfs.all PATCH] writeback: use round_jiffies_relative for dirtytime_work
From: Zhao Mengmeng <zhaomengmeng@...inos.cn>
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@...inos.cn>
---
fs/fs-writeback.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index ea95f527aace..a32d354152d0 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -2504,7 +2504,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,
@@ -2536,7 +2537,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;
}
--
2.43.0
Powered by blists - more mailing lists