diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2010-05-21 20:00:35 +0200 |
---|---|---|
committer | Willy Tarreau <w@1wt.eu> | 2012-03-17 11:14:47 +0100 |
commit | 050539021e2540f5018ec6e026ff381af287cfcb (patch) | |
tree | 060ed9f78b6744e1cc45919b2727c6061188aa42 /include | |
parent | d9a25c03a1defab08703a7cc186a68aa2610ad4f (diff) |
writeback: fixups for !dirty_writeback_centisecs
commit 6423104b6a1e6f0c18be60e8c33f02d263331d5e upstream.
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>
Tested-by: Xavier Roche <roche@httrack.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Willy Tarreau <w@1wt.eu>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/backing-dev.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h index b449e738533a..61e43a6f3141 100644 --- a/include/linux/backing-dev.h +++ b/include/linux/backing-dev.h @@ -105,6 +105,7 @@ void bdi_start_writeback(struct backing_dev_info *bdi, struct super_block *sb, long nr_pages); int bdi_writeback_task(struct bdi_writeback *wb); int bdi_has_dirty_io(struct backing_dev_info *bdi); +void bdi_arm_supers_timer(void); extern spinlock_t bdi_lock; extern struct list_head bdi_list; |