aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/fs-writeback.c2
-rw-r--r--include/linux/writeback.h1
-rw-r--r--mm/page-writeback.c11
3 files changed, 9 insertions, 5 deletions
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 04cf3b91e501..28076562ada0 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -675,7 +675,7 @@ static inline bool over_bground_thresh(void)
675static void wb_update_bandwidth(struct bdi_writeback *wb, 675static void wb_update_bandwidth(struct bdi_writeback *wb,
676 unsigned long start_time) 676 unsigned long start_time)
677{ 677{
678 __bdi_update_bandwidth(wb->bdi, 0, 0, 0, 0, start_time); 678 __bdi_update_bandwidth(wb->bdi, 0, 0, 0, 0, 0, start_time);
679} 679}
680 680
681/* 681/*
diff --git a/include/linux/writeback.h b/include/linux/writeback.h
index 2b8963ff0f35..ddb4652cb337 100644
--- a/include/linux/writeback.h
+++ b/include/linux/writeback.h
@@ -143,6 +143,7 @@ unsigned long bdi_dirty_limit(struct backing_dev_info *bdi,
143 143
144void __bdi_update_bandwidth(struct backing_dev_info *bdi, 144void __bdi_update_bandwidth(struct backing_dev_info *bdi,
145 unsigned long thresh, 145 unsigned long thresh,
146 unsigned long bg_thresh,
146 unsigned long dirty, 147 unsigned long dirty,
147 unsigned long bdi_thresh, 148 unsigned long bdi_thresh,
148 unsigned long bdi_dirty, 149 unsigned long bdi_dirty,
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index c16ddd8f5cb6..4b954c9fe846 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -779,6 +779,7 @@ static void global_update_bandwidth(unsigned long thresh,
779 779
780void __bdi_update_bandwidth(struct backing_dev_info *bdi, 780void __bdi_update_bandwidth(struct backing_dev_info *bdi,
781 unsigned long thresh, 781 unsigned long thresh,
782 unsigned long bg_thresh,
782 unsigned long dirty, 783 unsigned long dirty,
783 unsigned long bdi_thresh, 784 unsigned long bdi_thresh,
784 unsigned long bdi_dirty, 785 unsigned long bdi_dirty,
@@ -815,6 +816,7 @@ snapshot:
815 816
816static void bdi_update_bandwidth(struct backing_dev_info *bdi, 817static void bdi_update_bandwidth(struct backing_dev_info *bdi,
817 unsigned long thresh, 818 unsigned long thresh,
819 unsigned long bg_thresh,
818 unsigned long dirty, 820 unsigned long dirty,
819 unsigned long bdi_thresh, 821 unsigned long bdi_thresh,
820 unsigned long bdi_dirty, 822 unsigned long bdi_dirty,
@@ -823,8 +825,8 @@ static void bdi_update_bandwidth(struct backing_dev_info *bdi,
823 if (time_is_after_eq_jiffies(bdi->bw_time_stamp + BANDWIDTH_INTERVAL)) 825 if (time_is_after_eq_jiffies(bdi->bw_time_stamp + BANDWIDTH_INTERVAL))
824 return; 826 return;
825 spin_lock(&bdi->wb.list_lock); 827 spin_lock(&bdi->wb.list_lock);
826 __bdi_update_bandwidth(bdi, thresh, dirty, bdi_thresh, bdi_dirty, 828 __bdi_update_bandwidth(bdi, thresh, bg_thresh, dirty,
827 start_time); 829 bdi_thresh, bdi_dirty, start_time);
828 spin_unlock(&bdi->wb.list_lock); 830 spin_unlock(&bdi->wb.list_lock);
829} 831}
830 832
@@ -912,8 +914,9 @@ static void balance_dirty_pages(struct address_space *mapping,
912 if (!bdi->dirty_exceeded) 914 if (!bdi->dirty_exceeded)
913 bdi->dirty_exceeded = 1; 915 bdi->dirty_exceeded = 1;
914 916
915 bdi_update_bandwidth(bdi, dirty_thresh, nr_dirty, 917 bdi_update_bandwidth(bdi, dirty_thresh, background_thresh,
916 bdi_thresh, bdi_dirty, start_time); 918 nr_dirty, bdi_thresh, bdi_dirty,
919 start_time);
917 920
918 /* Note: nr_reclaimable denotes nr_dirty + nr_unstable. 921 /* Note: nr_reclaimable denotes nr_dirty + nr_unstable.
919 * Unstable writes are a feature of certain networked 922 * Unstable writes are a feature of certain networked