X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.c;h=1c2748e06ee4483b0cdef5457757985140a133a6;hp=e4fec4f6e0202a041dfd4524f45570a0bdd074de;hb=e916b390684ec1ca6247f98138fa9c1682701d29;hpb=079ad09b1ef22fa0d47c2cd2673908c5619aa41a diff --git a/fio.c b/fio.c index e4fec4f6..1c2748e0 100644 --- a/fio.c +++ b/fio.c @@ -287,9 +287,13 @@ requeue: * completed io_u's first. */ min_events = 0; - if (queue_full(td) || ret == FIO_Q_BUSY) + if (queue_full(td) || ret == FIO_Q_BUSY) { min_events = 1; + if (td->cur_depth > td->iodepth_low) + min_events = td->cur_depth - td->iodepth_low; + } + /* * Reap required number of io units, if any, and do the * verification on them through the callback handler @@ -411,9 +415,13 @@ requeue: */ if (ret == FIO_Q_QUEUED || ret == FIO_Q_BUSY) { min_evts = 0; - if (queue_full(td) || ret == FIO_Q_BUSY) + if (queue_full(td) || ret == FIO_Q_BUSY) { min_evts = 1; + if (td->cur_depth > td->iodepth_low) + min_evts = td->cur_depth - td->iodepth_low; + } + fio_gettime(&comp_time, NULL); bytes_done = io_u_queued_complete(td, min_evts, NULL); if (bytes_done < 0)