X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=idletime.h;h=91ca95f5ee5ba69901b41a25346954a7bbec172b;hp=819da25e19a0819a44ed34a4190fc35c5f138256;hb=53bf886a97095b523e44eab3fc75fe96dfc4a9f4;hpb=de8f6de97438d5664cd8765e60102b9109a273e2 diff --git a/idletime.h b/idletime.h index 819da25e..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,8 +27,8 @@ struct idle_prof_thread { pthread_t thread; int cpu; int state; - struct timeval tps; - struct timeval tpe; + struct timespec tps; + struct timespec tpe; double cali_time; /* microseconds to finish a unit work */ double loops; double idleness; @@ -34,6 +36,8 @@ struct idle_prof_thread { 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