From: Zhao Mengmeng Date: Tue, 13 Jan 2026 08:26:14 +0000 (+0800) Subject: writeback: use round_jiffies_relative for dirtytime_work X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e93b31d0816201f9fd8daeaf69d6db99463d3e05;p=thirdparty%2Flinux.git 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 Link: https://patch.msgid.link/20260113082614.231580-1-zhaomzhao@126.com Reviewed-by: Jan Kara Signed-off-by: Christian Brauner --- 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; }