All of lore.kernel.org
 help / color / mirror / Atom feed
* PATCH: Don't lose pending completions on exit in time- or size-based job with asynchronous I/O engine
@ 2015-07-17 14:30 Andrey Kuzmin
  2015-07-17 14:36 ` Jens Axboe
  0 siblings, 1 reply; 7+ messages in thread
From: Andrey Kuzmin @ 2015-07-17 14:30 UTC (permalink / raw)
  To: Jens Axboe; +Cc: fio@vger.kernel.org

Probably worth adding to do_verify() as well.

Regards,
Andrey

diff --git a/backend.c b/backend.c
index 9ac94ed..c782fde 100644
--- a/backend.c
+++ b/backend.c
@@ -803,7 +803,8 @@ static uint64_t do_io(struct thread_data *td)
                total_bytes += td->total_io_size;

        while ((td->o.read_iolog_file && !flist_empty(&td->io_log_list)) ||
-               (!flist_empty(&td->trim_list)) ||
!io_issue_bytes_exceeded(td) ||
+               (!flist_empty(&td->trim_list)) ||
+               !(io_issue_bytes_exceeded(td) && !td->cur_depth) ||
                td->o.time_based) {
                struct timeval comp_time;
                struct io_u *io_u;
@@ -819,7 +820,7 @@ static uint64_t do_io(struct thread_data *td)

                if (runtime_exceeded(td, &td->tv_cache)) {
                        __update_tv_cache(td);
-                       if (runtime_exceeded(td, &td->tv_cache)) {
+                       if (runtime_exceeded(td, &td->tv_cache) &&
!td->cur_depth) {
                                fio_mark_td_terminate(td);
                                break;
                        }
@@ -828,7 +829,7 @@ static uint64_t do_io(struct thread_data *td)
                if (flow_threshold_exceeded(td))
                        continue;

-               if (bytes_issued >= total_bytes)
+               if (bytes_issued >= total_bytes && !td->cur_depth)
                        break;

                io_u = get_io_u(td);


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-07-19 12:08 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-17 14:30 PATCH: Don't lose pending completions on exit in time- or size-based job with asynchronous I/O engine Andrey Kuzmin
2015-07-17 14:36 ` Jens Axboe
2015-07-17 14:53   ` Andrey Kuzmin
2015-07-17 14:58     ` Jens Axboe
2015-07-17 15:02       ` Andrey Kuzmin
2015-07-17 15:11         ` Jens Axboe
     [not found]           ` <CANvN+e=S1Yfy3ZCtPv+LQqDOAhxhw90PDU-1fYH66W2mrH4NOw@mail.gmail.com>
2015-07-19 12:08             ` Andrey Kuzmin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.