X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=diskutil.h;h=15ec681a449c4a9b34929933ab95f1c85b3c1257;hp=25d0bebfc4074ec83074f8e3e423a89315df2851;hb=3d2d14bcb844e72809192311369a642c5d415472;hpb=f672ef67527a27eb2bbc59aa6041a42d88a00838 diff --git a/diskutil.h b/diskutil.h index 25d0bebf..15ec681a 100644 --- a/diskutil.h +++ b/diskutil.h @@ -3,9 +3,8 @@ #include "json.h" #define FIO_DU_NAME_SZ 64 -#include "lib/output_buffer.h" - -extern volatile int helper_exit; +#include "helper_thread.h" +#include "fio_sem.h" struct disk_util_stats { uint64_t ios[2]; @@ -47,7 +46,6 @@ struct disk_util { */ struct flist_head slavelist; - char *name; char *sysfs_root; char path[PATH_MAX]; int major, minor; @@ -66,9 +64,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; }; @@ -77,7 +75,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) { @@ -86,7 +84,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) @@ -116,6 +114,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) @@ -129,7 +128,7 @@ static inline void print_disk_util(struct disk_util_stat *du, static inline int update_io_ticks(void) { - return helper_exit; + return helper_should_exit(); } #endif