diff options
Diffstat (limited to 'mm/page-writeback.c')
| -rw-r--r-- | mm/page-writeback.c | 11 | 
1 files changed, 7 insertions, 4 deletions
diff --git a/mm/page-writeback.c b/mm/page-writeback.c index c16ddd8f5cb..4b954c9fe84 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -779,6 +779,7 @@ static void global_update_bandwidth(unsigned long thresh,  void __bdi_update_bandwidth(struct backing_dev_info *bdi,  			    unsigned long thresh, +			    unsigned long bg_thresh,  			    unsigned long dirty,  			    unsigned long bdi_thresh,  			    unsigned long bdi_dirty, @@ -815,6 +816,7 @@ snapshot:  static void bdi_update_bandwidth(struct backing_dev_info *bdi,  				 unsigned long thresh, +				 unsigned long bg_thresh,  				 unsigned long dirty,  				 unsigned long bdi_thresh,  				 unsigned long bdi_dirty, @@ -823,8 +825,8 @@ static void bdi_update_bandwidth(struct backing_dev_info *bdi,  	if (time_is_after_eq_jiffies(bdi->bw_time_stamp + BANDWIDTH_INTERVAL))  		return;  	spin_lock(&bdi->wb.list_lock); -	__bdi_update_bandwidth(bdi, thresh, dirty, bdi_thresh, bdi_dirty, -			       start_time); +	__bdi_update_bandwidth(bdi, thresh, bg_thresh, dirty, +			       bdi_thresh, bdi_dirty, start_time);  	spin_unlock(&bdi->wb.list_lock);  } @@ -912,8 +914,9 @@ static void balance_dirty_pages(struct address_space *mapping,  		if (!bdi->dirty_exceeded)  			bdi->dirty_exceeded = 1; -		bdi_update_bandwidth(bdi, dirty_thresh, nr_dirty, -				     bdi_thresh, bdi_dirty, start_time); +		bdi_update_bandwidth(bdi, dirty_thresh, background_thresh, +				     nr_dirty, bdi_thresh, bdi_dirty, +				     start_time);  		/* Note: nr_reclaimable denotes nr_dirty + nr_unstable.  		 * Unstable writes are a feature of certain networked  |