projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't assume read IO are always verifies if verify is enabled
[fio.git]
/
gettime.c
diff --git
a/gettime.c
b/gettime.c
index 80eeaf14bcbb75293a1621382eaa8d765fe2d015..b1431f329bec2e3ef9e32439035d896e9f8545ca 100644
(file)
--- a/
gettime.c
+++ b/
gettime.c
@@
-6,6
+6,7
@@
#include <sys/time.h>
#include "fio.h"
#include <sys/time.h>
#include "fio.h"
+#include "smalloc.h"
#include "hash.h"
#include "hash.h"
@@
-13,6
+14,10
@@
static int clock_gettime_works;
static struct timeval last_tv;
static int last_tv_valid;
static struct timeval last_tv;
static int last_tv_valid;
+static struct timeval *fio_tv;
+int fio_gtod_offload = 0;
+int fio_gtod_cpu = -1;
+
#ifdef FIO_DEBUG_TIME
#define HASH_BITS 8
#ifdef FIO_DEBUG_TIME
#define HASH_BITS 8
@@
-116,7
+121,10
@@
void fio_gettime(struct timeval *tp, void fio_unused *caller)
gtod_log_caller(caller);
#endif
gtod_log_caller(caller);
#endif
- if (!clock_gettime_works) {
+ if (fio_tv) {
+ memcpy(tp, fio_tv, sizeof(*tp));
+ return;
+ } else if (!clock_gettime_works) {
gtod:
gettimeofday(tp, NULL);
} else {
gtod:
gettimeofday(tp, NULL);
} else {
@@
-145,3
+153,14
@@
gtod:
last_tv_valid = 1;
memcpy(&last_tv, tp, sizeof(*tp));
}
last_tv_valid = 1;
memcpy(&last_tv, tp, sizeof(*tp));
}
+
+void fio_gtod_init(void)
+{
+ fio_tv = smalloc(sizeof(struct timeval));
+ assert(fio_tv);
+}
+
+void fio_gtod_update(void)
+{
+ gettimeofday(fio_tv, NULL);
+}