rate_submit: synchronize accesses to io_u_queue->nr
[fio.git] / gfio.h
diff --git a/gfio.h b/gfio.h
index dd4ee3d..aa14e3c 100644 (file)
--- a/gfio.h
+++ b/gfio.h
@@ -3,9 +3,11 @@
 
 #include <gtk/gtk.h>
 
+#include "gcompat.h"
 #include "stat.h"
 #include "thread_options.h"
 #include "ghelpers.h"
+#include "graph.h"
 
 struct probe_widget {
        GtkWidget *hostname;
@@ -30,6 +32,8 @@ struct eta_widget {
        GtkWidget *write_iops;
        GtkWidget *cw_bw;
        GtkWidget *cw_iops;
+       GtkWidget *trim_bw;
+       GtkWidget *trim_iops;
 };
 
 struct gfio_graphs {
@@ -37,7 +41,13 @@ struct gfio_graphs {
 #define DRAWING_AREA_YDIM 400
        GtkWidget *drawing_area;
        struct graph *iops_graph;
+       graph_label_t read_iops;
+       graph_label_t write_iops;
+       graph_label_t trim_iops;
        struct graph *bandwidth_graph;
+       graph_label_t read_bw;
+       graph_label_t write_bw;
+       graph_label_t trim_bw;
 };
 
 /*
@@ -131,21 +141,31 @@ struct end_results {
        struct thread_stat ts;
 };
 
+struct gfio_client_options {
+       struct flist_head list;
+       struct thread_options o;
+};
+
 struct gfio_client {
        struct gui_entry *ge;
        struct fio_client *client;
        GtkWidget *err_entry;
-       struct thread_options o;
+       uint32_t client_cpus;
+       uint64_t client_flags;
+
+       struct flist_head o_list;
+       unsigned int o_list_nr;
 
        struct end_results *results;
        unsigned int nr_results;
 
+       uint32_t update_job_status;
+       volatile uint32_t update_job_done;
+
        struct cmd_du_pdu *du;
        unsigned int nr_du;
 };
 
-#define ARRAYSIZE(x) (sizeof((x)) / (sizeof((x)[0])))
-
 #define GFIO_MIME      "text/fio"
 
 extern void gfio_view_log(struct gui *ui);
@@ -154,5 +174,6 @@ extern void clear_ge_ui_info(struct gui_entry *ge);
 
 extern const char *gfio_graph_font;
 extern GdkColor gfio_color_white;
+extern GdkColor gfio_color_lightyellow;
 
 #endif