X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=ioengines.c;h=ab5b2245131fb1abb5d2e6b51a94227522e78991;hp=16ea928fe727c094f651e75922f52308eb36c70a;hb=bf0dc8fae8b21c666a0a927c1d473ad59101e7fd;hpb=755200a326a33e5e19b16dfd5e013dd98bcf1916 diff --git a/ioengines.c b/ioengines.c index 16ea928f..ab5b2245 100644 --- a/ioengines.c +++ b/ioengines.c @@ -66,11 +66,10 @@ void unregister_ioengine(struct ioengine_ops *ops) INIT_LIST_HEAD(&ops->list); } -int register_ioengine(struct ioengine_ops *ops) +void register_ioengine(struct ioengine_ops *ops) { INIT_LIST_HEAD(&ops->list); list_add_tail(&ops->list, &engine_list); - return 0; } static struct ioengine_ops *find_ioengine(const char *name) @@ -187,12 +186,20 @@ int td_io_getevents(struct thread_data *td, int min, int max, int td_io_queue(struct thread_data *td, struct io_u *io_u) { - fio_gettime(&io_u->issue_time, NULL); + int ret; + + if (td->io_ops->flags & FIO_SYNCIO) + fio_gettime(&io_u->issue_time, NULL); if (io_u->ddir != DDIR_SYNC) td->io_issues[io_u->ddir]++; - return td->io_ops->queue(td, io_u); + ret = td->io_ops->queue(td, io_u); + + if ((td->io_ops->flags & FIO_SYNCIO) == 0) + fio_gettime(&io_u->issue_time, NULL); + + return ret; } int td_io_init(struct thread_data *td)