Recent changes (master)

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

 



The following changes since commit 91c0e7c5de1b4413c5fab8f5746272d1aee10f78:

  Set genesis time when running only network clients (2014-10-12 13:11:35 -0600)

are available in the git repository at:

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

for you to fetch changes up to e5c9093db2c18166bd572f2ab40d5eba16a25b07:

  server/client: don't use __ conversion functions if not needed (2014-10-13 16:05:10 -0600)

----------------------------------------------------------------
Jens Axboe (8):
      stat: set kb/unit_base, if not already set
      client: always output summed output for all clients
      client: get rid of (now) unused client->nr_stat
      client: partial revert of 9899aff3e345
      smalloc: use log_err() for errors
      backend: use log_info_flush(), not fflush()
      engines: don't use printf or stderr directly
      server/client: don't use __ conversion functions if not needed

 backend.c                 |    4 ++--
 client.c                  |   10 +++-------
 engines/glusterfs_async.c |    5 +++--
 engines/libhdfs.c         |    7 +++----
 server.c                  |   10 +++++-----
 smalloc.c                 |   11 ++++++-----
 stat.c                    |    4 ++++
 7 files changed, 26 insertions(+), 25 deletions(-)

---

Diff of recent changes:

diff --git a/backend.c b/backend.c
index 981625b..3016e98 100644
--- a/backend.c
+++ b/backend.c
@@ -87,7 +87,7 @@ static void sig_int(int sig)
 			fio_server_got_signal(sig);
 		else {
 			log_info("\nfio: terminating on signal %d\n", sig);
-			fflush(stdout);
+			log_info_flush();
 			exit_value = 128;
 		}
 
@@ -1763,7 +1763,7 @@ static void run_threads(void)
 						nr_process > 1 ? "es" : "");
 		}
 		log_info("\n");
-		fflush(stdout);
+		log_info_flush();
 	}
 
 	todo = thread_number;
diff --git a/client.c b/client.c
index 1879e44..6b9fdd8 100644
--- a/client.c
+++ b/client.c
@@ -60,7 +60,6 @@ static int sum_stat_nr;
 static struct json_object *root = NULL;
 static struct json_array *clients_array = NULL;
 static struct json_array *du_array = NULL;
-static int do_output_all_clients;
 
 #define FIO_CLIENT_HASH_BITS	7
 #define FIO_CLIENT_HASH_SZ	(1 << FIO_CLIENT_HASH_BITS)
@@ -150,7 +149,7 @@ void fio_put_client(struct fio_client *client)
 		free(client->files);
 
 	if (!client->did_stat)
-		sum_stat_clients -= client->nr_stat;
+		sum_stat_clients--;
 
 	free(client);
 }
@@ -895,7 +894,7 @@ static void handle_ts(struct fio_client *client, struct fio_net_cmd *cmd)
 		json_array_add_value_object(clients_array, tsobj);
 	}
 
-	if (!do_output_all_clients)
+	if (sum_stat_clients <= 1)
 		return;
 
 	sum_thread_stats(&client_ts, &p->ts, sum_stat_nr);
@@ -953,7 +952,7 @@ static void convert_agg(struct disk_util_agg *agg)
 	agg->io_ticks		= le32_to_cpu(agg->io_ticks);
 	agg->time_in_queue	= le32_to_cpu(agg->time_in_queue);
 	agg->slavecount		= le32_to_cpu(agg->slavecount);
-	agg->max_util.u.f	= fio_uint64_to_double(__le64_to_cpu(agg->max_util.u.i));
+	agg->max_util.u.f	= fio_uint64_to_double(le64_to_cpu(agg->max_util.u.i));
 }
 
 static void convert_dus(struct disk_util_stat *dus)
@@ -1157,9 +1156,6 @@ static void handle_start(struct fio_client *client, struct fio_net_cmd *cmd)
 	client->jobs = le32_to_cpu(pdu->jobs);
 	client->nr_stat = le32_to_cpu(pdu->stat_outputs);
 
-	if (sum_stat_clients > 1)
-		do_output_all_clients = 1;
-
 	sum_stat_clients += client->nr_stat;
 }
 
diff --git a/engines/glusterfs_async.c b/engines/glusterfs_async.c
index 599bc5d..cf6ea70 100644
--- a/engines/glusterfs_async.c
+++ b/engines/glusterfs_async.c
@@ -67,7 +67,7 @@ static void fio_gf_io_u_free(struct thread_data *td, struct io_u *io_u)
 		io_u->engine_data = NULL;
 		free(io);
 	}
-	fprintf(stderr, "issued %lu finished %lu\n", issued, cb_count);
+	log_err("issued %lu finished %lu\n", issued, cb_count);
 }
 
 static int fio_gf_io_u_init(struct thread_data *td, struct io_u *io_u)
@@ -145,8 +145,9 @@ int fio_gf_async_setup(struct thread_data *td)
 {
 	int r = 0;
 	struct gf_data *g = NULL;
+
 #if defined(NOT_YET)
-	fprintf(stderr, "the async interface is still very experimental...\n");
+	log_err("the async interface is still very experimental...\n");
 #endif
 	r = fio_gf_setup(td);
 	if (r) {
diff --git a/engines/libhdfs.c b/engines/libhdfs.c
index 773d46b..658cd6a 100644
--- a/engines/libhdfs.c
+++ b/engines/libhdfs.c
@@ -87,7 +87,7 @@ static int fio_hdfsio_prep(struct thread_data *td, struct io_u *io_u)
 	} else if (io_u->ddir == DDIR_WRITE) {
 		open_flags = O_WRONLY;
 	} else {
-		printf("Invalid I/O Operation\n");
+		log_err("hdfs: Invalid I/O Operation\n");
 	}
 
 	hd->curr_file_id = f_id;
@@ -142,7 +142,7 @@ static int fio_hdfsio_queue(struct thread_data *td, struct io_u *io_u)
 		    hdfsWrite(hd->fs, hd->fp, io_u->xfer_buf,
 			      io_u->xfer_buflen);
 	} else {
-		printf("Invalid I/O Operation\n");
+		log_err("hdfs: Invalid I/O Operation\n");
 	}
 
 	return fio_io_end(td, io_u, ret);
@@ -202,8 +202,7 @@ static int fio_hdfsio_setup(struct thread_data *td)
 			hd->fscount = atol(getenv("FIO_HDFS_FCOUNT"));
 			hd->fsbs = atol(getenv("FIO_HDFS_BS"));
 		} else {
-			fprintf(stderr,
-				"FIO_HDFS_FCOUNT and/or FIO_HDFS_BS not set.\n");
+			log_err("FIO_HDFS_FCOUNT and/or FIO_HDFS_BS not set.\n");
 			return 1;
 		}
 #endif
diff --git a/server.c b/server.c
index 33c512c..b5bf878 100644
--- a/server.c
+++ b/server.c
@@ -980,8 +980,8 @@ static void convert_io_stat(struct io_stat *dst, struct io_stat *src)
 	/*
 	 * Encode to IEEE 754 for network transfer
 	 */
-	dst->mean.u.i	= __cpu_to_le64(fio_double_to_uint64(src->mean.u.f));
-	dst->S.u.i	= __cpu_to_le64(fio_double_to_uint64(src->S.u.f));
+	dst->mean.u.i	= cpu_to_le64(fio_double_to_uint64(src->mean.u.f));
+	dst->S.u.i	= cpu_to_le64(fio_double_to_uint64(src->S.u.f));
 }
 
 static void convert_gs(struct group_run_stats *dst, struct group_run_stats *src)
@@ -1045,7 +1045,7 @@ void fio_server_send_ts(struct thread_stat *ts, struct group_run_stats *rs)
 		fio_fp64_t *src = &ts->percentile_list[i];
 		fio_fp64_t *dst = &p.ts.percentile_list[i];
 
-		dst->u.i = __cpu_to_le64(fio_double_to_uint64(src->u.f));
+		dst->u.i = cpu_to_le64(fio_double_to_uint64(src->u.f));
 	}
 
 	for (i = 0; i < FIO_IO_U_MAP_NR; i++) {
@@ -1087,7 +1087,7 @@ void fio_server_send_ts(struct thread_stat *ts, struct group_run_stats *rs)
 	p.ts.latency_depth	= cpu_to_le32(ts->latency_depth);
 	p.ts.latency_target	= cpu_to_le64(ts->latency_target);
 	p.ts.latency_window	= cpu_to_le64(ts->latency_window);
-	p.ts.latency_percentile.u.i = __cpu_to_le64(fio_double_to_uint64(ts->latency_percentile.u.f));
+	p.ts.latency_percentile.u.i = cpu_to_le64(fio_double_to_uint64(ts->latency_percentile.u.f));
 
 	convert_gs(&p.rs, rs);
 
@@ -1118,7 +1118,7 @@ static void convert_agg(struct disk_util_agg *dst, struct disk_util_agg *src)
 	dst->io_ticks		= cpu_to_le32(src->io_ticks);
 	dst->time_in_queue	= cpu_to_le32(src->time_in_queue);
 	dst->slavecount		= cpu_to_le32(src->slavecount);
-	dst->max_util.u.i	= __cpu_to_le64(fio_double_to_uint64(src->max_util.u.f));
+	dst->max_util.u.i	= cpu_to_le64(fio_double_to_uint64(src->max_util.u.f));
 }
 
 static void convert_dus(struct disk_util_stat *dst, struct disk_util_stat *src)
diff --git a/smalloc.c b/smalloc.c
index d0f732b..5fe0b6f 100644
--- a/smalloc.c
+++ b/smalloc.c
@@ -17,6 +17,7 @@
 #include "arch/arch.h"
 #include "os/os.h"
 #include "smalloc.h"
+#include "log.h"
 
 #define SMALLOC_REDZONE		/* define to detect memory corruption */
 
@@ -221,7 +222,7 @@ static int add_pool(struct pool *pool, unsigned int alloc_size)
 	nr_pools++;
 	return 0;
 out_fail:
-	fprintf(stderr, "smalloc: failed adding pool\n");
+	log_err("smalloc: failed adding pool\n");
 	if (pool->map)
 		munmap(pool->map, pool->mmap_size);
 	return 1;
@@ -283,14 +284,14 @@ static void sfree_check_redzone(struct block_hdr *hdr)
 	unsigned int *postred = postred_ptr(hdr);
 
 	if (hdr->prered != SMALLOC_PRE_RED) {
-		fprintf(stderr, "smalloc pre redzone destroyed!\n");
-		fprintf(stderr, "  ptr=%p, prered=%x, expected %x\n",
+		log_err("smalloc pre redzone destroyed!\n"
+			" ptr=%p, prered=%x, expected %x\n",
 				hdr, hdr->prered, SMALLOC_PRE_RED);
 		assert(0);
 	}
 	if (*postred != SMALLOC_POST_RED) {
-		fprintf(stderr, "smalloc post redzone destroyed!\n");
-		fprintf(stderr, "  ptr=%p, postred=%x, expected %x\n",
+		log_err("smalloc post redzone destroyed!\n"
+			"  ptr=%p, postred=%x, expected %x\n",
 				hdr, *postred, SMALLOC_POST_RED);
 		assert(0);
 	}
diff --git a/stat.c b/stat.c
index 77e389c..03dc458 100644
--- a/stat.c
+++ b/stat.c
@@ -1077,6 +1077,10 @@ void sum_group_stats(struct group_run_stats *dst, struct group_run_stats *src)
 		dst->agg[i] += src->agg[i];
 	}
 
+	if (!dst->kb_base)
+		dst->kb_base = src->kb_base;
+	if (!dst->unit_base)
+		dst->unit_base = src->unit_base;
 }
 
 void sum_thread_stats(struct thread_stat *dst, struct thread_stat *src, int nr)
--
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