This doesn't belong in the workqueue code, let the caller deal with
it instead.
Signed-off-by: Jens Axboe <axboe@fb.com>
log_io_piece(td, io_u);
if (td->o.io_submit_mode == IO_MODE_OFFLOAD) {
log_io_piece(td, io_u);
if (td->o.io_submit_mode == IO_MODE_OFFLOAD) {
+ const unsigned long blen = io_u->xfer_buflen;
+ const enum fio_ddir ddir = acct_ddir(io_u);
+
ret = workqueue_enqueue(&td->io_wq, io_u);
ret = workqueue_enqueue(&td->io_wq, io_u);
+ if (ret == FIO_Q_QUEUED && ddir_rw(ddir)) {
+ td->io_issues[ddir]++;
+ td->io_issue_bytes[ddir] += blen;
+ td->rate_io_issue_bytes[ddir] += blen;
+ }
+
if (should_check_rate(td))
td->rate_next_io_time[ddir] = usec_for_io(td, ddir);
if (should_check_rate(td))
td->rate_next_io_time[ddir] = usec_for_io(td, ddir);
sw = get_submit_worker(wq);
if (sw) {
sw = get_submit_worker(wq);
if (sw) {
- const enum fio_ddir ddir = acct_ddir(io_u);
- struct thread_data *parent = wq->td;
-
- if (ddir_rw(ddir)) {
- parent->io_issues[ddir]++;
- parent->io_issue_bytes[ddir] += io_u->xfer_buflen;
- parent->rate_io_issue_bytes[ddir] += io_u->xfer_buflen;
- }
-
pthread_mutex_lock(&sw->lock);
flist_add_tail(&io_u->verify_list, &sw->work_list);
sw->seq = ++wq->work_seq;
pthread_mutex_lock(&sw->lock);
flist_add_tail(&io_u->verify_list, &sw->work_list);
sw->seq = ++wq->work_seq;