Recent changes (master)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following changes since commit 867f90e36d9d1458b20e5fab4542ce6c631f2633:

  blktrace: remove unused ioctl definitions (2017-06-27 19:59:49 -0600)

are available in the git repository at:

  git://git.kernel.dk/fio.git master

for you to fetch changes up to dd3503d365f87e68079fb3e443a410743688d53b:

  fio: make gauss a duplicate of normal for file_service_type (2017-06-28 22:58:08 +0100)

----------------------------------------------------------------
Sitsofe Wheeler (3):
      stat: further group percentage fixes
      doc: fix random_distribution Gaussian parameter name
      fio: make gauss a duplicate of normal for file_service_type

Tomohiro Kusumi (2):
      HOWTO/manpage: update percentage explanation using '%'
      add FD_PARSE debug print for size= option (which exists in offset=)

 HOWTO     | 15 +++++++++------
 fio.1     | 19 +++++++++++--------
 options.c |  8 +++++++-
 stat.c    | 16 ++++++++--------
 4 files changed, 35 insertions(+), 23 deletions(-)

---

Diff of recent changes:

diff --git a/HOWTO b/HOWTO
index 37caa3c..6e53cff 100644
--- a/HOWTO
+++ b/HOWTO
@@ -853,10 +853,13 @@ Target file/device
 		**pareto**
 			Use a *Pareto* distribution to decide what file to access.
 
-		**gauss**
+		**normal**
 			Use a *Gaussian* (normal) distribution to decide what file to
 			access.
 
+		**gauss**
+			Alias for normal.
+
 	For *random*, *roundrobin*, and *sequential*, a postfix can be appended to
 	tell fio how many I/Os to issue before switching to a new file. For example,
 	specifying ``file_service_type=random:8`` would cause fio to issue
@@ -1095,8 +1098,8 @@ I/O type
 	offset will be used. Data before the given offset will not be touched. This
 	effectively caps the file size at `real_size - offset`. Can be combined with
 	:option:`size` to constrain the start and end range of the I/O workload.
-	A percentage can be specified by the percentage number plus 1 with preceding '-'.
-	For example, -1 is parsed as 0%, -10 is parsed as 9%, -101 is parsed as 100%.
+	A percentage can be specified by a number between 1 and 100 followed by '%',
+	for example, ``offset=20%`` to specify 20%.
 
 .. option:: offset_increment=int
 
@@ -1204,7 +1207,7 @@ I/O type
 		**pareto**
 				Pareto distribution
 
-		**gauss**
+		**normal**
 				Normal (Gaussian) distribution
 
 		**zoned**
@@ -1217,8 +1220,8 @@ I/O type
 	values will yield in terms of hit rates.  If you wanted to use **zipf** with
 	a `theta` of 1.2, you would use ``random_distribution=zipf:1.2`` as the
 	option. If a non-uniform model is used, fio will disable use of the random
-	map. For the **gauss** distribution, a normal deviation is supplied as a
-	value between 0 and 100.
+	map. For the **normal** distribution, a normal (Gaussian) deviation is
+	supplied as a value between 0 and 100.
 
 	For a **zoned** distribution, fio supports specifying percentages of I/O
 	access that should fall within what range of the file or device. For
diff --git a/fio.1 b/fio.1
index ac87c9d..ab04208 100644
--- a/fio.1
+++ b/fio.1
@@ -1,4 +1,4 @@
-.TH fio 1 "May 2017" "User Manual"
+.TH fio 1 "June 2017" "User Manual"
 .SH NAME
 fio \- flexible I/O tester
 .SH SYNOPSIS
@@ -676,8 +676,11 @@ Use a zipfian distribution to decide what file to access.
 .B pareto
 Use a pareto distribution to decide what file to access.
 .TP
+.B normal
+Use a Gaussian (normal) distribution to decide what file to access.
+.TP
 .B gauss
-Use a gaussian (normal) distribution to decide what file to access.
+Alias for normal.
 .RE
 .P
 For \fBrandom\fR, \fBroundrobin\fR, and \fBsequential\fR, a postfix can be
@@ -916,8 +919,8 @@ bytes or a percentage. If a percentage is given, the next \fBblockalign\fR-ed
 offset will be used. Data before the given offset will not be touched. This
 effectively caps the file size at (real_size - offset). Can be combined with
 \fBsize\fR to constrain the start and end range of the I/O workload. A percentage
-can be specified by the percentage number plus 1 with preceding '-'. For example,
--1 is parsed as 0%, -10 is parsed as 9%, -101 is parsed as 100%.
+can be specified by a number between 1 and 100 followed by '%', for example,
+offset=20% to specify 20%.
 .TP
 .BI offset_increment \fR=\fPint
 If this is provided, then the real offset becomes the
@@ -1004,8 +1007,8 @@ Zipf distribution
 .B pareto
 Pareto distribution
 .TP
-.B gauss
-Normal (gaussian) distribution
+.B normal
+Normal (Gaussian) distribution
 .TP
 .B zoned
 Zoned random distribution
@@ -1017,8 +1020,8 @@ For \fBpareto\fR, it's the pareto power. Fio includes a test program, genzipf,
 that can be used visualize what the given input values will yield in terms of
 hit rates. If you wanted to use \fBzipf\fR with a theta of 1.2, you would use
 random_distribution=zipf:1.2 as the option. If a non-uniform model is used,
-fio will disable use of the random map. For the \fBgauss\fR distribution, a
-normal deviation is supplied as a value between 0 and 100.
+fio will disable use of the random map. For the \fBnormal\fR distribution, a
+normal (Gaussian) deviation is supplied as a value between 0 and 100.
 .P
 .RS
 For a \fBzoned\fR distribution, fio supports specifying percentages of IO
diff --git a/options.c b/options.c
index 7431ed8..09a21af 100644
--- a/options.c
+++ b/options.c
@@ -1410,6 +1410,8 @@ static int str_size_cb(void *data, unsigned long long *__val)
 	if (parse_is_percent(v)) {
 		td->o.size = 0;
 		td->o.size_percent = -1ULL - v;
+		dprint(FD_PARSE, "SET size_percent %d\n",
+					td->o.size_percent);
 	} else
 		td->o.size = v;
 
@@ -2267,9 +2269,13 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
 			    .oval = FIO_FSERVICE_PARETO,
 			    .help = "Pareto randomized",
 			  },
+			  { .ival = "normal",
+			    .oval = FIO_FSERVICE_GAUSS,
+			    .help = "Normal (Gaussian) randomized",
+			  },
 			  { .ival = "gauss",
 			    .oval = FIO_FSERVICE_GAUSS,
-			    .help = "Normal (Gaussian) distribution",
+			    .help = "Alias for normal",
 			  },
 			  { .ival = "roundrobin",
 			    .oval = FIO_FSERVICE_RR,
diff --git a/stat.c b/stat.c
index beec574..aebd107 100644
--- a/stat.c
+++ b/stat.c
@@ -475,6 +475,12 @@ static void show_ddir_status(struct group_run_stats *rs, struct thread_stat *ts,
 		else
 			bw_str = "kB";
 
+		if (rs->agg[ddir]) {
+			p_of_agg = mean * 100 / (double) (rs->agg[ddir] / 1024);
+			if (p_of_agg > 100.0)
+				p_of_agg = 100.0;
+		}
+
 		if (rs->unit_base == 1) {
 			min *= 8.0;
 			max *= 8.0;
@@ -482,12 +488,6 @@ static void show_ddir_status(struct group_run_stats *rs, struct thread_stat *ts,
 			dev *= 8.0;
 		}
 
-		if (rs->agg[ddir]) {
-			p_of_agg = mean * 100 / (double) (rs->agg[ddir] / 1024);
-			if (p_of_agg > 100.0)
-				p_of_agg = 100.0;
-		}
-
 		if (mean > fkb_base * fkb_base) {
 			min /= fkb_base;
 			max /= fkb_base;
@@ -924,7 +924,7 @@ static void show_ddir_status_terse(struct thread_stat *ts,
 		double p_of_agg = 100.0;
 
 		if (rs->agg[ddir]) {
-			p_of_agg = mean * 100 / (double) rs->agg[ddir];
+			p_of_agg = mean * 100 / (double) (rs->agg[ddir] / 1024);
 			if (p_of_agg > 100.0)
 				p_of_agg = 100.0;
 		}
@@ -1055,7 +1055,7 @@ static void add_ddir_status_json(struct thread_stat *ts,
 
 	if (calc_lat(&ts->bw_stat[ddir], &min, &max, &mean, &dev)) {
 		if (rs->agg[ddir]) {
-			p_of_agg = mean * 100 / (double) rs->agg[ddir];
+			p_of_agg = mean * 100 / (double) (rs->agg[ddir] / 1024);
 			if (p_of_agg > 100.0)
 				p_of_agg = 100.0;
 		}
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux