From 7c9b1bce094d58c374b086bbb780c08265623ea4 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Wed, 3 Jun 2009 09:25:57 +0200 Subject: [PATCH] Split off diskutil include Signed-off-by: Jens Axboe --- diskutil.c | 1 + diskutil.h | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++ fio.c | 1 + fio.h | 79 -------------------------------------------------- ioengines.c | 1 + stat.c | 1 + 6 files changed, 87 insertions(+), 79 deletions(-) create mode 100644 diskutil.h diff --git a/diskutil.c b/diskutil.c index 3cbd6fc3..cb15882f 100644 --- a/diskutil.c +++ b/diskutil.c @@ -9,6 +9,7 @@ #include "fio.h" #include "smalloc.h" +#include "diskutil.h" static int last_majdev, last_mindev; static struct disk_util *last_du; diff --git a/diskutil.h b/diskutil.h new file mode 100644 index 00000000..35fd0a59 --- /dev/null +++ b/diskutil.h @@ -0,0 +1,83 @@ +#ifndef FIO_DISKUTIL_H +#define FIO_DISKUTIL_H + +/* + * Disk utils as read in /sys/block//stat + */ +struct disk_util_stat { + unsigned ios[2]; + unsigned merges[2]; + unsigned long long sectors[2]; + unsigned ticks[2]; + unsigned io_ticks; + unsigned time_in_queue; +}; + +/* + * Per-device disk util management + */ +struct disk_util { + struct flist_head list; + /* If this disk is a slave, hook it into the master's + * list using this head. + */ + struct flist_head slavelist; + + char *name; + char *sysfs_root; + char path[256]; + int major, minor; + + struct disk_util_stat dus; + struct disk_util_stat last_dus; + + /* For software raids, this entry maintains pointers to the + * entries for the slave devices. The disk_util entries for + * the slaves devices should primarily be maintained through + * the disk_list list, i.e. for memory allocation and + * de-allocation, etc. Whereas this list should be used only + * for aggregating a software RAID's disk util figures. + */ + struct flist_head slaves; + + unsigned long msec; + struct timeval time; + + struct fio_mutex *lock; + unsigned long users; +}; + +static inline void disk_util_inc(struct disk_util *du) +{ + if (du) { + fio_mutex_down(du->lock); + du->users++; + fio_mutex_up(du->lock); + } +} + +static inline void disk_util_dec(struct disk_util *du) +{ + if (du) { + fio_mutex_down(du->lock); + du->users--; + fio_mutex_up(du->lock); + } +} + +#define DISK_UTIL_MSEC (250) + +/* + * disk util stuff + */ +#ifdef FIO_HAVE_DISK_UTIL +extern void show_disk_util(void); +extern void init_disk_util(struct thread_data *); +extern void update_io_ticks(void); +#else +#define show_disk_util() +#define init_disk_util(td) +#define update_io_ticks() +#endif + +#endif diff --git a/fio.c b/fio.c index 8c1502ec..bdf9fd18 100644 --- a/fio.c +++ b/fio.c @@ -38,6 +38,7 @@ #include "hash.h" #include "smalloc.h" #include "verify.h" +#include "diskutil.h" unsigned long page_mask; unsigned long page_size; diff --git a/fio.h b/fio.h index 2c45b98c..9222c051 100644 --- a/fio.h +++ b/fio.h @@ -445,72 +445,6 @@ static inline int should_fsync(struct thread_data *td) return 0; } -/* - * Disk utils as read in /sys/block//stat - */ -struct disk_util_stat { - unsigned ios[2]; - unsigned merges[2]; - unsigned long long sectors[2]; - unsigned ticks[2]; - unsigned io_ticks; - unsigned time_in_queue; -}; - -/* - * Per-device disk util management - */ -struct disk_util { - struct flist_head list; - /* If this disk is a slave, hook it into the master's - * list using this head. - */ - struct flist_head slavelist; - - char *name; - char *sysfs_root; - char path[256]; - int major, minor; - - struct disk_util_stat dus; - struct disk_util_stat last_dus; - - /* For software raids, this entry maintains pointers to the - * entries for the slave devices. The disk_util entries for - * the slaves devices should primarily be maintained through - * the disk_list list, i.e. for memory allocation and - * de-allocation, etc. Whereas this list should be used only - * for aggregating a software RAID's disk util figures. - */ - struct flist_head slaves; - - unsigned long msec; - struct timeval time; - - struct fio_mutex *lock; - unsigned long users; -}; - -static inline void disk_util_inc(struct disk_util *du) -{ - if (du) { - fio_mutex_down(du->lock); - du->users++; - fio_mutex_up(du->lock); - } -} - -static inline void disk_util_dec(struct disk_util *du) -{ - if (du) { - fio_mutex_down(du->lock); - du->users--; - fio_mutex_up(du->lock); - } -} - -#define DISK_UTIL_MSEC (250) - /* * Time functions */ @@ -552,19 +486,6 @@ extern void td_fill_rand_seeds(struct thread_data *); extern void print_thread_status(void); extern void print_status_init(int); -/* - * disk util stuff - */ -#ifdef FIO_HAVE_DISK_UTIL -extern void show_disk_util(void); -extern void init_disk_util(struct thread_data *); -extern void update_io_ticks(void); -#else -#define show_disk_util() -#define init_disk_util(td) -#define update_io_ticks() -#endif - /* * Thread life cycle. Once a thread has a runstate beyond TD_INITIALIZED, it * will never back again. It may cycle between running/verififying/fsyncing. diff --git a/ioengines.c b/ioengines.c index 7840d2a8..51cf1ba4 100644 --- a/ioengines.c +++ b/ioengines.c @@ -17,6 +17,7 @@ #include #include "fio.h" +#include "diskutil.h" static FLIST_HEAD(engine_list); diff --git a/stat.c b/stat.c index a42ed988..44edd1e9 100644 --- a/stat.c +++ b/stat.c @@ -8,6 +8,7 @@ #include #include "fio.h" +#include "diskutil.h" /* * Cheesy number->string conversion, complete with carry rounding error. -- 2.25.1