summaryrefslogtreecommitdiffstats
path: root/mm/page-writeback.c
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2010-05-21 20:00:35 +0200
committerJens Axboe <jens.axboe@oracle.com>2010-05-21 20:00:35 +0200
commit6423104b6a1e6f0c18be60e8c33f02d263331d5e (patch)
treee22957400e9679bf82b62e03d6bd831181053945 /mm/page-writeback.c
parentwriteback: bdi_writeback_task() must set task state before calling schedule() (diff)
downloadlinux-6423104b6a1e6f0c18be60e8c33f02d263331d5e.tar.xz
linux-6423104b6a1e6f0c18be60e8c33f02d263331d5e.zip
writeback: fixups for !dirty_writeback_centisecs
Commit 69b62d01 fixed up most of the places where we would enter busy schedule() spins when disabling the periodic background writeback. This fixes up the sb timer so that it doesn't get hammered on with the delay disabled, and ensures that it gets rearmed if needed when /proc/sys/vm/dirty_writeback_centisecs gets modified. bdi_forker_task() also needs to check for !dirty_writeback_centisecs and use schedule() appropriately, fix that up too. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'mm/page-writeback.c')
-rw-r--r--mm/page-writeback.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 53b2fcf2d283..0d7bbe859550 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -690,6 +690,7 @@ int dirty_writeback_centisecs_handler(ctl_table *table, int write,
void __user *buffer, size_t *length, loff_t *ppos)
{
proc_dointvec(table, write, buffer, length, ppos);
+ bdi_arm_supers_timer();
return 0;
}