Unverified Commit e93b31d0 authored by Zhao Mengmeng's avatar Zhao Mengmeng Committed by Christian Brauner
Browse files

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: default avatarZhao Mengmeng <zhaomengmeng@kylinos.cn>
Link: https://patch.msgid.link/20260113082614.231580-1-zhaomzhao@126.com


Reviewed-by: default avatarJan Kara <jack@suse.cz>
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent 561940a7
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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;
}