events += r;
else if ((min && r == 0) || r == -EAGAIN) {
fio_libaio_commit(td);
- usleep(100);
+ if (actual_min)
+ usleep(10);
} else if (r != -EINTR)
break;
} while (events < min);
return r < 0 ? r : events;
}
-static int fio_libaio_queue(struct thread_data *td, struct io_u *io_u)
+static enum fio_q_status fio_libaio_queue(struct thread_data *td,
+ struct io_u *io_u)
{
struct libaio_data *ld = td->io_ops_data;
return FIO_Q_BUSY;
do_io_u_trim(td, io_u);
+ io_u_mark_submit(td, 1);
+ io_u_mark_complete(td, 1);
return FIO_Q_COMPLETED;
}