projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixups for poisson rate
[fio.git]
/
backend.c
diff --git
a/backend.c
b/backend.c
index 7a030ebbbe40e2f3a10347376d1dd26eb045479c..85a981dc4d3fdf05183661fd9b012522a60c2aed 100644
(file)
--- a/
backend.c
+++ b/
backend.c
@@
-782,17
+782,18
@@
static long long usec_for_io(struct thread_data *td, enum fio_ddir ddir)
bytes = td->rate_io_issue_bytes[ddir];
bps = td->rate_bps[ddir];
bytes = td->rate_io_issue_bytes[ddir];
bps = td->rate_bps[ddir];
- if (td->o.poisson_r
equest
) {
+ if (td->o.poisson_r
ate
) {
iops = bps / td->o.bs[ddir];
iops = bps / td->o.bs[ddir];
- td->last_usec += (
long long)
(1000000 / iops) *
-
(-logf(((float)rand() + 1) / ((float)RAND_MAX + 1)
));
+ td->last_usec += (
int64_t)
(1000000 / iops) *
+
-logf(__rand_0_1(&td->poisson_state
));
return td->last_usec;
} else if (bps) {
secs = bytes / bps;
remainder = bytes % bps;
return remainder * 1000000 / bps + secs * 1000000;
return td->last_usec;
} else if (bps) {
secs = bytes / bps;
remainder = bytes % bps;
return remainder * 1000000 / bps + secs * 1000000;
- } else
- return 0;
+ }
+
+ return 0;
}
/*
}
/*