X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=idletime.h;h=91ca95f5ee5ba69901b41a25346954a7bbec172b;hp=acb8407d982a1242b47549c7e406a3f294713973;hb=fc220349e45144360917db48010b503a9874930d;hpb=95820b6e6c92025df8d89c0bf39b174e53137c41 diff --git a/idletime.h b/idletime.h index acb8407d..91ca95f5 100644 --- a/idletime.h +++ b/idletime.h @@ -1,7 +1,9 @@ #ifndef FIO_IDLETIME_H #define FIO_IDLETIME_H -#include "fio.h" +#include +#include +#include "os/os.h" #define CALIBRATE_RUNS 10 #define CALIBRATE_SCALE 1000 @@ -25,15 +27,17 @@ struct idle_prof_thread { pthread_t thread; int cpu; int state; - struct timeval tps; - struct timeval tpe; - double cali_time; /* microseconds to finish a unit wrok */ + struct timespec tps; + struct timespec tpe; + double cali_time; /* microseconds to finish a unit work */ double loops; double idleness; unsigned char *data; /* bytes to be touched */ pthread_cond_t cond; pthread_mutex_t init_lock; pthread_mutex_t start_lock; + + os_cpu_mask_t cpu_mask; }; struct idle_prof_common { @@ -52,6 +56,8 @@ extern void fio_idle_prof_init(void); extern void fio_idle_prof_start(void); extern void fio_idle_prof_stop(void); -extern void show_idle_prof_stats(int, struct json_object *); +extern void show_idle_prof_stats(int, struct json_object *, struct buf_output *); + +extern void fio_idle_prof_cleanup(void); #endif