|
@@ -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
|