lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130705155018.3532.45042.stgit@maximpc.sw.ru>
Date:	Fri, 05 Jul 2013 19:50:41 +0400
From:	Maxim Patlasov <mpatlasov@...allels.com>
To:	akpm@...ux-foundation.org
Cc:	riel@...hat.com, jack@...e.cz, dev@...allels.com,
	miklos@...redi.hu, fuse-devel@...ts.sourceforge.net,
	bfoster@...hat.com, xemul@...allels.com,
	linux-kernel@...r.kernel.org, jbottomley@...allels.com,
	linux-mm@...ck.org, viro@...iv.linux.org.uk,
	linux-fsdevel@...r.kernel.org, fengguang.wu@...el.com,
	devel@...nvz.org, mgorman@...e.de
Subject: [PATCH] mm: cleanup backing_dev_info foo_stamp fields

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@...ux-foundation.org>
Signed-off-by: Maxim Patlasov <MPatlasov@...allels.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;
 }
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ