Improve Valgrind instrumentation of memory allocations
[fio.git] / diskutil.h
index ff8a5b065f5d8b9914a4160df53218cdab3d8e80..c1035785c0a883bb1f2d571ad29d2944bf8fd059 100644 (file)
@@ -5,6 +5,7 @@
 
 #include "lib/output_buffer.h"
 #include "helper_thread.h"
+#include "fio_sem.h"
 
 struct disk_util_stats {
        uint64_t ios[2];
@@ -46,7 +47,6 @@ struct disk_util {
         */
        struct flist_head slavelist;
 
-       char *name;
        char *sysfs_root;
        char path[PATH_MAX];
        int major, minor;
@@ -65,9 +65,9 @@ struct disk_util {
         */
        struct flist_head slaves;
 
-       struct timeval time;
+       struct timespec time;
 
-       struct fio_mutex *lock;
+       struct fio_sem *lock;
        unsigned long users;
 };
 
@@ -76,7 +76,7 @@ static inline void disk_util_mod(struct disk_util *du, int val)
        if (du) {
                struct flist_head *n;
 
-               fio_mutex_down(du->lock);
+               fio_sem_down(du->lock);
                du->users += val;
 
                flist_for_each(n, &du->slavelist) {
@@ -85,7 +85,7 @@ static inline void disk_util_mod(struct disk_util *du, int val)
                        slave = flist_entry(n, struct disk_util, slavelist);
                        slave->users += val;
                }
-               fio_mutex_up(du->lock);
+               fio_sem_up(du->lock);
        }
 }
 static inline void disk_util_inc(struct disk_util *du)
@@ -115,6 +115,7 @@ extern int update_io_ticks(void);
 extern void setup_disk_util(void);
 extern void disk_util_prune_entries(void);
 #else
+/* keep this as a function to avoid a warning in handle_du() */
 static inline void print_disk_util(struct disk_util_stat *du,
                                   struct disk_util_agg *agg, int terse,
                                   struct buf_output *out)