Merge branch 'master' of https://github.com/jan--f/fio
[fio.git] / gclient.c
index 6f7865c5d0c8127766e4f2328d1cde5cb9e87f35..23b0899322052f20744c149561351829325169f1 100644 (file)
--- a/gclient.c
+++ b/gclient.c
@@ -13,6 +13,7 @@
 #include "graph.h"
 #include "gclient.h"
 #include "printing.h"
+#include "lib/pow2.h"
 
 static void gfio_display_ts(struct fio_client *client, struct thread_stat *ts,
                            struct group_run_stats *rs);
@@ -195,39 +196,39 @@ static int __gfio_disk_util_show(GtkWidget *res_notebook,
        vbox = gtk_hbox_new(TRUE, 3);
        gtk_container_add(GTK_CONTAINER(frame), vbox);
        entry = new_info_entry_in_frame(vbox, "IOs");
-       entry_set_int_value(entry, p->dus.ios[0]);
+       entry_set_int_value(entry, p->dus.s.ios[0]);
        entry = new_info_entry_in_frame(vbox, "Merges");
-       entry_set_int_value(entry, p->dus.merges[0]);
+       entry_set_int_value(entry, p->dus.s.merges[0]);
        entry = new_info_entry_in_frame(vbox, "Sectors");
-       entry_set_int_value(entry, p->dus.sectors[0]);
+       entry_set_int_value(entry, p->dus.s.sectors[0]);
        entry = new_info_entry_in_frame(vbox, "Ticks");
-       entry_set_int_value(entry, p->dus.ticks[0]);
+       entry_set_int_value(entry, p->dus.s.ticks[0]);
 
        frame = gtk_frame_new("Write");
        gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 2);
        vbox = gtk_hbox_new(TRUE, 3);
        gtk_container_add(GTK_CONTAINER(frame), vbox);
        entry = new_info_entry_in_frame(vbox, "IOs");
-       entry_set_int_value(entry, p->dus.ios[1]);
+       entry_set_int_value(entry, p->dus.s.ios[1]);
        entry = new_info_entry_in_frame(vbox, "Merges");
-       entry_set_int_value(entry, p->dus.merges[1]);
+       entry_set_int_value(entry, p->dus.s.merges[1]);
        entry = new_info_entry_in_frame(vbox, "Sectors");
-       entry_set_int_value(entry, p->dus.sectors[1]);
+       entry_set_int_value(entry, p->dus.s.sectors[1]);
        entry = new_info_entry_in_frame(vbox, "Ticks");
-       entry_set_int_value(entry, p->dus.ticks[1]);
+       entry_set_int_value(entry, p->dus.s.ticks[1]);
 
        frame = gtk_frame_new("Shared");
        gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 2);
        vbox = gtk_hbox_new(TRUE, 3);
        gtk_container_add(GTK_CONTAINER(frame), vbox);
        entry = new_info_entry_in_frame(vbox, "IO ticks");
-       entry_set_int_value(entry, p->dus.io_ticks);
+       entry_set_int_value(entry, p->dus.s.io_ticks);
        entry = new_info_entry_in_frame(vbox, "Time in queue");
-       entry_set_int_value(entry, p->dus.time_in_queue);
+       entry_set_int_value(entry, p->dus.s.time_in_queue);
 
        util = 0.0;
-       if (p->dus.msec)
-               util = (double) 100 * p->dus.io_ticks / (double) p->dus.msec;
+       if (p->dus.s.msec)
+               util = (double) 100 * p->dus.s.io_ticks / (double) p->dus.s.msec;
        if (util > 100.0)
                util = 100.0;
 
@@ -279,10 +280,6 @@ static void gfio_disk_util_op(struct fio_client *client, struct fio_net_cmd *cmd
        gdk_threads_leave();
 }
 
-extern int sum_stat_clients;
-extern struct thread_stat client_ts;
-extern struct group_run_stats client_gs;
-
 static int sum_stat_nr;
 
 static void gfio_thread_status_op(struct fio_client *client,
@@ -295,7 +292,7 @@ static void gfio_thread_status_op(struct fio_client *client,
        if (sum_stat_clients == 1)
                return;
 
-       sum_thread_stats(&client_ts, &p->ts, sum_stat_nr);
+       sum_thread_stats(&client_ts, &p->ts, sum_stat_nr == 1);
        sum_group_stats(&client_gs, &p->rs);
 
        client_ts.members++;
@@ -534,7 +531,7 @@ static void gfio_update_all_eta(struct jobs_eta *je)
 
 static void gfio_probe_op(struct fio_client *client, struct fio_net_cmd *cmd)
 {
-       struct cmd_probe_pdu *probe = (struct cmd_probe_pdu *) cmd->payload;
+       struct cmd_probe_reply_pdu *probe = (struct cmd_probe_reply_pdu *) cmd->payload;
        struct gfio_client *gc = client->client_data;
        struct gui_entry *ge = gc->ge;
        const char *os, *arch;
@@ -692,12 +689,6 @@ static void gfio_client_job_start(struct fio_client *client, struct fio_net_cmd
        gdk_threads_leave();
 }
 
-static void gfio_client_iolog(struct fio_client *client, struct cmd_iolog_pdu *pdu)
-{
-       printf("got iolog: name=%s, type=%u, entries=%u\n", pdu->name, pdu->log_type, pdu->nr_samples);
-       free(pdu);
-}
-
 static void gfio_add_total_depths_tree(GtkListStore *model,
                                       struct thread_stat *ts, unsigned int len)
 {
@@ -1017,7 +1008,7 @@ static void gfio_show_lat(GtkWidget *vbox, const char *name, unsigned long min,
        char *minp, *maxp;
        char tmp[64];
 
-       if (!usec_to_msec(&min, &max, &mean, &dev))
+       if (usec_to_msec(&min, &max, &mean, &dev))
                base = "(msec)";
 
        minp = num2str(min, 6, 1, 0, 0);
@@ -1393,7 +1384,6 @@ struct client_ops gfio_client_ops = {
        .stop                   = gfio_client_stop,
        .start                  = gfio_client_start,
        .job_start              = gfio_client_job_start,
-       .iolog                  = gfio_client_iolog,
        .removed                = gfio_client_removed,
        .eta_msec               = FIO_CLIENT_DEF_ETA_MSEC,
        .stay_connected         = 1,