Recent changes (master)

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

 



The following changes since commit 9c639a76200286bc6db7cefefef425cff65b0d78:

  configure: fixup __sync_fetch_and_add() (2013-02-28 22:13:29 +0100)

are available in the git repository at:
  git://git.kernel.dk/fio.git master

Jens Axboe (1):
      Add --parse-only command line option

SEOKYOUNG KO (2):
      Fix rate iops with ramp time
      Fix skewed latencies for rate IOPS

 README   |    1 +
 init.c   |   14 ++++++++++++--
 io_u.c   |    4 ++--
 libfio.c |    1 +
 4 files changed, 16 insertions(+), 4 deletions(-)

---

Diff of recent changes:

diff --git a/README b/README
index b662e71..317ddec 100644
--- a/README
+++ b/README
@@ -134,6 +134,7 @@ Command line
 
 $ fio
 	--debug			Enable some debugging options (see below)
+	--parse-only		Parse options only, don't start any IO
 	--output		Write output to file
 	--runtime		Runtime in seconds
 	--latency-log		Generate per-job latency logs
diff --git a/init.c b/init.c
index 32da42c..c722688 100644
--- a/init.c
+++ b/init.c
@@ -34,6 +34,7 @@ static char **ini_file;
 static int max_jobs = FIO_MAX_JOBS;
 static int dump_cmdline;
 static int def_timeout;
+static int parse_only;
 
 static struct thread_data def_thread;
 struct thread_data *threads = NULL;
@@ -151,6 +152,11 @@ static struct option l_opts[FIO_NR_OPTIONS] = {
 		.val		= 'd' | FIO_CLIENT_FLAG,
 	},
 	{
+		.name		= (char *) "parse-only",
+		.has_arg	= no_argument,
+		.val		= 'P' | FIO_CLIENT_FLAG,
+	},
+	{
 		.name		= (char *) "section",
 		.has_arg	= required_argument,
 		.val		= 'x' | FIO_CLIENT_FLAG,
@@ -817,7 +823,7 @@ static int add_job(struct thread_data *td, const char *jobname, int job_add_num)
 	/*
 	 * if we are just dumping the output command line, don't add the job
 	 */
-	if (dump_cmdline) {
+	if (dump_cmdline || parse_only) {
 		put_job(td);
 		return 0;
 	}
@@ -1251,6 +1257,7 @@ static void usage(const char *name)
 	printf("  --debug=options\tEnable debug logging. May be one/more of:\n"
 		"\t\t\tprocess,file,io,mem,blktrace,verify,random,parse,\n"
 		"\t\t\tdiskutil,job,mutex,profile,time,net\n");
+	printf("  --parse-only\t\tParse options only, don't start any IO\n");
 	printf("  --output\t\tWrite output to file\n");
 	printf("  --runtime\t\tRuntime in seconds\n");
 	printf("  --latency-log\t\tGenerate per-job latency logs\n");
@@ -1528,6 +1535,9 @@ int parse_cmd_line(int argc, char *argv[])
 			if (set_debug(optarg))
 				do_exit++;
 			break;
+		case 'P':
+			parse_only = 1;
+			break;
 		case 'x': {
 			size_t new_size;
 
@@ -1738,7 +1748,7 @@ int parse_options(int argc, char *argv[])
 	fio_options_free(&def_thread);
 
 	if (!thread_number) {
-		if (dump_cmdline)
+		if (dump_cmdline || parse_only)
 			return 0;
 		if (exec_profile)
 			return 0;
diff --git a/io_u.c b/io_u.c
index e474b48..7941a6d 100644
--- a/io_u.c
+++ b/io_u.c
@@ -531,10 +531,10 @@ static enum fio_ddir rate_ddir(struct thread_data *td, enum fio_ddir ddir)
 	 * io's that have been actually submitted to an async engine,
 	 * and cur_depth is meaningless for sync engines.
 	 */
-	if (td->io_u_in_flight) {
+	while (td->io_u_in_flight) {
 		int fio_unused ret;
 
-		ret = io_u_queued_complete(td, td->io_u_in_flight, NULL);
+		ret = io_u_queued_complete(td, 1, NULL);
 	}
 
 	fio_gettime(&t, NULL);
diff --git a/libfio.c b/libfio.c
index ac629dc..433fee4 100644
--- a/libfio.c
+++ b/libfio.c
@@ -119,6 +119,7 @@ void reset_all_stats(struct thread_data *td)
 		td->io_issues[i] = 0;
 		td->ts.total_io_u[i] = 0;
 		td->ts.runtime[i] = 0;
+		td->rwmix_issues = 0;
 	}
 
 	fio_gettime(&tv, NULL);
--
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