#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
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 {
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