On 10/14/2017 11:59 AM, Damian Tometzki wrote: > On Sat, 14. Oct 16:38, Yafang Shao wrote: >> This patch is the followup of the prvious patch: >> [writeback: schedule periodic writeback with sysctl]. >> >> There's another issue to fix. >> For example, >> - When the tunable was set to one hour and is reset to one second, the >> new setting will not take effect for up to one hour. >> >> Kicking the flusher threads immediately fixes it. >> >> Cc: Jens Axboe <ax...@kernel.dk> >> Cc: Jan Kara <j...@suse.cz> >> Cc: Andrew Morton <a...@linux-foundation.org> >> Signed-off-by: Yafang Shao <laoar.s...@gmail.com> >> --- >> mm/page-writeback.c | 11 ++++++++++- >> 1 file changed, 10 insertions(+), 1 deletion(-) >> >> diff --git a/mm/page-writeback.c b/mm/page-writeback.c >> index 3969e69..768fe4e 100644 >> --- a/mm/page-writeback.c >> +++ b/mm/page-writeback.c >> @@ -1978,7 +1978,16 @@ int dirty_writeback_centisecs_handler(struct >> ctl_table *table, int write, >> int ret; >> >> ret = proc_dointvec(table, write, buffer, length, ppos); >> - if (!ret && !old_interval && dirty_writeback_interval) >> + >> + /* >> + * Writing 0 to dirty_writeback_interval will disable periodic writeback >> + * and a different non-zero value will wakeup the writeback threads. >> + * wb_wakeup_delayed() would be more appropriate, but it's a pain to >> + * iterate over all bdis and wbs. >> + * The reason we do this is to make the change take effect immediately. >> + */ >> + if (!ret && write && dirty_writeback_interval && >> + dirty_writeback_interval != old_interval) >> wakeup_flusher_threads(WB_REASON_PERIODIC); > Is that call right ? The call need two arguments ? > --> wakeup_flusher_threads(0,WB_REASON_PERIODIC);
It's right, the nr_pages argument was killed. -- Jens Axboe