projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Makefile: add -Wshadow
[fio.git]
/
backend.c
diff --git
a/backend.c
b/backend.c
index c0b446ac8d98d706fdb042e64e51715343c79f73..a93c458a9393e609371642d94e5900518327015e 100644
(file)
--- a/
backend.c
+++ b/
backend.c
@@
-1484,18
+1484,21
@@
static void *thread_main(void *data)
clear_state = 1;
clear_state = 1;
+ fio_mutex_down(stat_mutex);
if (td_read(td) && td->io_bytes[DDIR_READ]) {
if (td_read(td) && td->io_bytes[DDIR_READ]) {
- elapsed =
u
time_since_now(&td->start);
+ elapsed =
m
time_since_now(&td->start);
td->ts.runtime[DDIR_READ] += elapsed;
}
if (td_write(td) && td->io_bytes[DDIR_WRITE]) {
td->ts.runtime[DDIR_READ] += elapsed;
}
if (td_write(td) && td->io_bytes[DDIR_WRITE]) {
- elapsed =
u
time_since_now(&td->start);
+ elapsed =
m
time_since_now(&td->start);
td->ts.runtime[DDIR_WRITE] += elapsed;
}
if (td_trim(td) && td->io_bytes[DDIR_TRIM]) {
td->ts.runtime[DDIR_WRITE] += elapsed;
}
if (td_trim(td) && td->io_bytes[DDIR_TRIM]) {
- elapsed =
u
time_since_now(&td->start);
+ elapsed =
m
time_since_now(&td->start);
td->ts.runtime[DDIR_TRIM] += elapsed;
}
td->ts.runtime[DDIR_TRIM] += elapsed;
}
+ fio_gettime(&td->start, NULL);
+ fio_mutex_up(stat_mutex);
if (td->error || td->terminate)
break;
if (td->error || td->terminate)
break;
@@
-1511,16
+1514,16
@@
static void *thread_main(void *data)
do_verify(td, verify_bytes);
do_verify(td, verify_bytes);
- td->ts.runtime[DDIR_READ] += utime_since_now(&td->start);
+ fio_mutex_down(stat_mutex);
+ td->ts.runtime[DDIR_READ] += mtime_since_now(&td->start);
+ fio_gettime(&td->start, NULL);
+ fio_mutex_up(stat_mutex);
if (td->error || td->terminate)
break;
}
update_rusage_stat(td);
if (td->error || td->terminate)
break;
}
update_rusage_stat(td);
- td->ts.runtime[DDIR_READ] = (td->ts.runtime[DDIR_READ] + 999) / 1000;
- td->ts.runtime[DDIR_WRITE] = (td->ts.runtime[DDIR_WRITE] + 999) / 1000;
- td->ts.runtime[DDIR_TRIM] = (td->ts.runtime[DDIR_TRIM] + 999) / 1000;
td->ts.total_run_time = mtime_since_now(&td->epoch);
td->ts.io_bytes[DDIR_READ] = td->io_bytes[DDIR_READ];
td->ts.io_bytes[DDIR_WRITE] = td->io_bytes[DDIR_WRITE];
td->ts.total_run_time = mtime_since_now(&td->epoch);
td->ts.io_bytes[DDIR_READ] = td->io_bytes[DDIR_READ];
td->ts.io_bytes[DDIR_WRITE] = td->io_bytes[DDIR_WRITE];
@@
-2102,8
+2105,10
@@
int fio_backend(void)
for_each_td(td, i) {
fio_options_free(td);
for_each_td(td, i) {
fio_options_free(td);
- fio_mutex_remove(td->rusage_sem);
- td->rusage_sem = NULL;
+ if (td->rusage_sem) {
+ fio_mutex_remove(td->rusage_sem);
+ td->rusage_sem = NULL;
+ }
}
free_disk_util();
}
free_disk_util();