projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mmap engine: allow large files on 32-bit archs
[fio.git]
/
time.c
diff --git
a/time.c
b/time.c
index 4f1c13a08a5c6a77d07bb1fe9cc26bb4f84ba868..643fcea8c04c4f481212443f0fd1e642562ef902 100644
(file)
--- a/
time.c
+++ b/
time.c
@@
-78,7
+78,7
@@
unsigned long time_since_now(struct timeval *s)
/*
* busy looping version for the last few usec
*/
/*
* busy looping version for the last few usec
*/
-void
__usec_sleep
(unsigned int usec)
+void
usec_spin
(unsigned int usec)
{
struct timeval start;
{
struct timeval start;
@@
-96,7
+96,7
@@
void usec_sleep(struct thread_data *td, unsigned long usec)
unsigned long ts = usec;
if (usec < ns_granularity) {
unsigned long ts = usec;
if (usec < ns_granularity) {
-
__usec_sleep
(usec);
+
usec_spin
(usec);
break;
}
break;
}
@@
-164,6
+164,11
@@
unsigned long mtime_since_genesis(void)
return mtime_since_now(&genesis);
}
return mtime_since_now(&genesis);
}
+int in_ramp_time(struct thread_data *td)
+{
+ return td->o.ramp_time && !td->ramp_time_over;
+}
+
int ramp_time_over(struct thread_data *td)
{
struct timeval tv;
int ramp_time_over(struct thread_data *td)
{
struct timeval tv;
@@
-174,7
+179,8
@@
int ramp_time_over(struct thread_data *td)
fio_gettime(&tv, NULL);
if (mtime_since(&td->epoch, &tv) >= td->o.ramp_time * 1000) {
td->ramp_time_over = 1;
fio_gettime(&tv, NULL);
if (mtime_since(&td->epoch, &tv) >= td->o.ramp_time * 1000) {
td->ramp_time_over = 1;
- memcpy(&td->start, &tv, sizeof(tv));
+ reset_all_stats(td);
+ td_set_runstate(td, TD_RAMP);
return 1;
}
return 1;
}