projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gettime: improve gettimeofday() offload support
[fio.git]
/
gettime-thread.c
diff --git
a/gettime-thread.c
b/gettime-thread.c
index c1b4b0967c28f354b8a3e6c9ad82fc2845c41e56..72cc4d8a472783f7e73d7d40f8a8da9f56759a2a 100644
(file)
--- a/
gettime-thread.c
+++ b/
gettime-thread.c
@@
-6,7
+6,7
@@
#include "fio.h"
#include "smalloc.h"
#include "fio.h"
#include "smalloc.h"
-struct timeval *fio_tv;
+struct timeval *fio_tv
= NULL
;
int fio_gtod_offload = 0;
int fio_gtod_cpu = -1;
static pthread_t gtod_thread;
int fio_gtod_offload = 0;
int fio_gtod_cpu = -1;
static pthread_t gtod_thread;
@@
-20,8
+20,15
@@
void fio_gtod_init(void)
static void fio_gtod_update(void)
{
static void fio_gtod_update(void)
{
- if (fio_tv)
- gettimeofday(fio_tv, NULL);
+ if (fio_tv) {
+ struct timeval __tv;
+
+ gettimeofday(&__tv, NULL);
+ fio_tv->tv_sec = __tv.tv_sec;
+ write_barrier();
+ fio_tv->tv_usec = __tv.tv_usec;
+ write_barrier();
+ }
}
static void *gtod_thread_main(void *data)
}
static void *gtod_thread_main(void *data)