projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
server: ensure we send the right sized jobs_eta when faking it
[fio.git]
/
backend.c
diff --git
a/backend.c
b/backend.c
index 01e0b3ac7cc5909b503f6d35d0a1f8e541215f6f..425b0ee94c370ab373cc245361cf60a635b0b2f1 100644
(file)
--- a/
backend.c
+++ b/
backend.c
@@
-54,7
+54,6
@@
#include "lib/getrusage.h"
#include "idletime.h"
#include "err.h"
#include "lib/getrusage.h"
#include "idletime.h"
#include "err.h"
-#include "lib/tp.h"
#include "workqueue.h"
#include "lib/mountcheck.h"
#include "rate-submit.h"
#include "workqueue.h"
#include "lib/mountcheck.h"
#include "rate-submit.h"
@@
-935,13
+934,10
@@
static uint64_t do_io(struct thread_data *td)
if (td->error)
break;
if (td->error)
break;
- ret = workqueue_enqueue(&td->io_wq, &io_u->work);
- if (ret)
- ret = FIO_Q_QUEUED;
- else
- ret = FIO_Q_BUSY;
+ workqueue_enqueue(&td->io_wq, &io_u->work);
+ ret = FIO_Q_QUEUED;
- if (
ret == FIO_Q_QUEUED &&
ddir_rw(ddir)) {
+ if (ddir_rw(ddir)) {
td->io_issues[ddir]++;
td->io_issue_bytes[ddir] += blen;
td->rate_io_issue_bytes[ddir] += blen;
td->io_issues[ddir]++;
td->io_issue_bytes[ddir] += blen;
td->rate_io_issue_bytes[ddir] += blen;
@@
-1554,13
+1550,12
@@
static void *thread_main(void *data)
goto err;
}
goto err;
}
- if (
td->flags & TD_F_COMPRESS_LOG
)
-
tp_init(&td->tp_data)
;
+ if (
iolog_compress_init(td)
)
+
goto err
;
fio_verify_init(td);
fio_verify_init(td);
- if ((o->io_submit_mode == IO_MODE_OFFLOAD) &&
- workqueue_init(td, &td->io_wq, &rated_wq_ops, td->o.iodepth))
+ if (rate_submit_init(td))
goto err;
fio_gettime(&td->epoch, NULL);
goto err;
fio_gettime(&td->epoch, NULL);
@@
-1592,8
+1587,11
@@
static void *thread_main(void *data)
if (td->o.verify_only && (td_write(td) || td_rw(td)))
verify_bytes = do_dry_run(td);
if (td->o.verify_only && (td_write(td) || td_rw(td)))
verify_bytes = do_dry_run(td);
- else
+ else
{
verify_bytes = do_io(td);
verify_bytes = do_io(td);
+ if (!verify_bytes)
+ fio_mark_td_terminate(td);
+ }
clear_state = 1;
clear_state = 1;
@@
-1658,11
+1656,8
@@
static void *thread_main(void *data)
fio_writeout_logs(td);
fio_writeout_logs(td);
- if (o->io_submit_mode == IO_MODE_OFFLOAD)
- workqueue_exit(&td->io_wq);
-
- if (td->flags & TD_F_COMPRESS_LOG)
- tp_exit(&td->tp_data);
+ iolog_compress_exit(td);
+ rate_submit_exit(td);
if (o->exec_postrun)
exec_string(o, o->exec_postrun, (const char *)"postrun");
if (o->exec_postrun)
exec_string(o, o->exec_postrun, (const char *)"postrun");