Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
LU-1023 utils: Time counting fix for obdfilter-survey
[fs/lustre-release.git]
/
lustre
/
utils
/
obd.c
diff --git
a/lustre/utils/obd.c
b/lustre/utils/obd.c
index
52e5e67
..
f821810
100644
(file)
--- a/
lustre/utils/obd.c
+++ b/
lustre/utils/obd.c
@@
-631,6
+631,25
@@
static int shmem_running(void)
{
return (shared_data == NULL || !shared_data->stopping);
}
+
+static void shmem_end_time_locked(void)
+{
+ shared_data->body.stop_barrier--;
+ if (shared_data->body.stop_barrier == 0)
+ gettimeofday(&shared_data->body.end_time, NULL);
+}
+
+static void shmem_start_time_locked(void)
+{
+ shared_data->body.start_barrier--;
+ if (shared_data->body.start_barrier == 0) {
+ shmem_wakeup_all();
+ gettimeofday(&shared_data->body.start_time, NULL);
+ } else {
+ shmem_wait();
+ }
+}
+
#else
static int shmem_setup(void)
{
@@
-1334,16
+1353,7
@@
int jt_obd_md_common(int argc, char **argv, int cmd)
child_base_id += (thread - 1) * \
(MAX_BASE_ID / nthreads);
- shared_data->body.start_barrier--;
- if (shared_data->body.start_barrier == 0) {
- shmem_wakeup_all();
-
- gettimeofday(&shared_data->body.start_time, NULL);
- printf("%s: start at %s", jt_cmdname(argv[0]),
- ctime(&shared_data->body.start_time.tv_sec));
- } else {
- shmem_wait();
- }
+ shmem_start_time_locked();
shmem_unlock();
}
#endif
@@
-1472,12
+1482,7
@@
int jt_obd_md_common(int argc, char **argv, int cmd)
#ifdef MAX_THREADS
if (thread) {
shmem_lock();
- shared_data->body.stop_barrier--;
- if (shared_data->body.stop_barrier == 0) {
- gettimeofday(&shared_data->body.end_time, NULL);
- printf("%s: end at %s", jt_cmdname(argv[0]),
- ctime(&shared_data->body.end_time.tv_sec));
- }
+ shmem_end_time_locked();
shmem_unlock();
}
#endif
@@
-2119,12
+2124,7
@@
int jt_obd_test_brw(int argc, char **argv)
thr_offset += (thread - 1) * len;
}
- shared_data->body.start_barrier--;
- if (shared_data->body.start_barrier == 0)
- shmem_wakeup_all();
- else
- shmem_wait();
-
+ shmem_start_time_locked();
shmem_unlock ();
}
#endif
@@
-2207,6
+2207,13
@@
int jt_obd_test_brw(int argc, char **argv)
ctime(&end.tv_sec));
}
+#ifdef MAX_THREADS
+ if (thread) {
+ shmem_lock();
+ shmem_end_time_locked();
+ shmem_unlock();
+ }
+#endif
return rc;
}