Merge branch 'dev' of https://github.com/smartxworks/fio
[fio.git] / idletime.h
index 819da25e19a0819a44ed34a4190fc35c5f138256..91ca95f5ee5ba69901b41a25346954a7bbec172b 100644 (file)
@@ -1,7 +1,9 @@
 #ifndef FIO_IDLETIME_H
 #define FIO_IDLETIME_H
 
-#include "fio.h"
+#include <sys/time.h>
+#include <sys/types.h>
+#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