[Devel] [PATCH] mm: cleanup backing_dev_info foo_stamp fields
Maxim Patlasov
mpatlasov at parallels.com
Fri Jul 5 08:50:41 PDT 2013
State clearly that bw_time_stamp is measured in jiffies. Rename other
foo_stamp fields to reflect that they are in units of number-of-pages.
Reported-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Maxim Patlasov <MPatlasov at parallels.com>
---
include/linux/backing-dev.h | 7 ++++---
mm/backing-dev.c | 2 +-
mm/page-writeback.c | 8 ++++----
3 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
index c388155..ee7eb1a 100644
--- a/include/linux/backing-dev.h
+++ b/include/linux/backing-dev.h
@@ -73,9 +73,10 @@ struct backing_dev_info {
struct percpu_counter bdi_stat[NR_BDI_STAT_ITEMS];
- unsigned long bw_time_stamp; /* last time write bw is updated */
- unsigned long dirtied_stamp;
- unsigned long written_stamp; /* pages written at bw_time_stamp */
+ unsigned long bw_time_stamp; /* last time (in jiffies) write bw
+ * is updated */
+ unsigned long dirtied_nr_stamp;
+ unsigned long written_nr_stamp; /* pages written at bw_time_stamp */
unsigned long write_bandwidth; /* the estimated write bandwidth */
unsigned long avg_write_bandwidth; /* further smoothed write bw */
diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index 5025174..82efe7f 100644
--- a/mm/backing-dev.c
+++ b/mm/backing-dev.c
@@ -454,7 +454,7 @@ int bdi_init(struct backing_dev_info *bdi)
bdi->dirty_exceeded = 0;
bdi->bw_time_stamp = jiffies;
- bdi->written_stamp = 0;
+ bdi->written_nr_stamp = 0;
bdi->balanced_dirty_ratelimit = INIT_BW;
bdi->dirty_ratelimit = INIT_BW;
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 4514ad7..088a8db 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -799,7 +799,7 @@ static void bdi_update_write_bandwidth(struct backing_dev_info *bdi,
* write_bandwidth = ---------------------------------------------------
* period
*/
- bw = written - bdi->written_stamp;
+ bw = written - bdi->written_nr_stamp;
bw *= HZ;
if (unlikely(elapsed > period)) {
do_div(bw, elapsed);
@@ -910,7 +910,7 @@ static void bdi_update_dirty_ratelimit(struct backing_dev_info *bdi,
* The dirty rate will match the writeout rate in long term, except
* when dirty pages are truncated by userspace or re-dirtied by FS.
*/
- dirty_rate = (dirtied - bdi->dirtied_stamp) * HZ / elapsed;
+ dirty_rate = (dirtied - bdi->dirtied_nr_stamp) * HZ / elapsed;
pos_ratio = bdi_position_ratio(bdi, thresh, bg_thresh, dirty,
bdi_thresh, bdi_dirty);
@@ -1066,8 +1066,8 @@ void __bdi_update_bandwidth(struct backing_dev_info *bdi,
bdi_update_write_bandwidth(bdi, elapsed, written);
snapshot:
- bdi->dirtied_stamp = dirtied;
- bdi->written_stamp = written;
+ bdi->dirtied_nr_stamp = dirtied;
+ bdi->written_nr_stamp = written;
bdi->bw_time_stamp = now;
}
More information about the Devel
mailing list